這段時間一直在自學前端框架,作了不少小東西,眼看着本身的github也在不斷的變綠,沒想到人的知足感居然被這一面牆的綠格子所馴服前端
滿屏的深綠估計是不少人炫耀的資本,本人不是什麼大牛,不過本身辛辛苦苦一行一行調試好了,最後連這點炫耀的記錄都不給顯示!!git你要翻天啊!git
原本想着就這幾天的,沒了本身認倒黴,但是今天一搜索,沒想到是能夠恢復的,太NM的神奇了,一下是我查詢到的恢復github commits記錄及統計的辦法github
首先要分析爲何你的提交記錄沒有被github識別:shell
進行Commits的用戶沒有被關聯到你的Github賬號中。bash
不是在這個版本庫的默認分支進行的Commit。前端框架
這個倉庫是一個Fork倉庫,而不是獨立倉庫。框架
我估計不少人和我同樣都是第一個緣由,初用github遠程管理代碼和那些常常更換使用機器的猿極有可能用錯帳戶名和郵箱,其實我在修改本身的原來的用戶名和郵箱是就發現,工具
當初設置的用戶名居然是本身的密碼。。。。用戶名是郵箱,可是爲何平時能夠正常提交呢。。。想一想才反應過來,我都不用bash去push,而是在git的圖形工具裏進行diff和push,spa
那就難怪了,在GUI裏,通常都是默認提交時輸入郵箱和密碼的,這裏又有一個坑,我每次都是在用戶那一個alert裏輸入本身的郵箱,而後是密碼,這裏要說,若是你輸入郵箱,調試
就必定要注意你的這個提交帳戶和簡歷repo的帳戶名要關聯,否則夠嗆了,你辛辛苦苦改了幾個月發現那個炫富的綠牆裏什麼鬼都沒有,呵呵
至於下面的兩個緣由應該在多人合做開發中會遇到吧
下面是解決的辦法:
這是github官方的辦法,全英文
https://help.github.com/articles/changing-author-info/
而後我一直在疑惑裏面說的那個script在哪裏,後來在另一個大俠那裏找到答案了。。。那塊被牆了。。。對,那塊代碼在天朝看不到
貼出來吧:(請按說明修改5,6,7行的內容)
1 #!/bin/sh 2 3 git filter-branch --env-filter ' 4 5 OLD_EMAIL="錯誤記錄裏的郵箱" 6 CORRECT_NAME="github帳戶名" 7 CORRECT_EMAIL="正確的帳戶郵箱" 8 9 if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] 10 then 11 export GIT_COMMITTER_NAME="$CORRECT_NAME" 12 export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" 13 fi 14 if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] 15 then 16 export GIT_AUTHOR_NAME="$CORRECT_NAME" 17 export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" 18 fi 19 ' --tag-name-filter cat -- --branches --tags
而後在bash裏執行以下代碼,user替換成你的github帳戶名,repo.git替換成你的repo的名字
1 git clone --bare https://github.com/user/repo.git 2 cd repo.git
以上執行後,把上面的script新建成一個.sh的shell腳本文件存到repo.git這個目錄裏,而後在bash裏執行它,就是在目錄下找到對應的test.sh,而後回車的意思
而後會出現執行的提示,以後只要不報錯,就自動結束了,以後
1 git push --force --tags origin 'refs/heads/*
最後把這個臨時down下來的repo目錄刪掉就行,一切大功告成
再去看的你的github首頁,丟失的綠格子都回來了。