起因
由於電腦配置git的賬號,填錯了郵箱, 導致github的提交記錄不會被統計,如下,沒頭像的則不屬於當前的github賬號的,所以不統計代碼:
為了將之前的提交用戶信息都恢復至正確的賬號上, 所以需要修改本地的git用戶信息。
修改username 和 email
在項目目錄中打開
修改 user.name 和 user.email
$ git config user.name 'xxx'
$ git config user.email xxx@xx.com
查詢之前的提交記錄
git rebase -i HEAD~N
N:這里的N代表之前的提交記錄, 輸入1就是上1次, 輸入3就是前3次的記錄
輸入完成之后,會顯示所有的記錄,如下所示:
每個記錄都是pick id xxxx 的一條記錄, 如果需要修改某一次的提交
切換至英文輸入法, 按下i字母, 即可進入編輯模式, 此時用光標定位到需要修改的那一條記錄, 將pick修改成edit, 如下所示:
按下esc按鍵, 然后輸入:wq (wq表示修改后保存退出), 按下Enter鍵, 此時界面如下所示:
接着輸入下面命令:
git commit --amend --reset-author
解釋: 上面這段命令的意思就是: git 提交 -- 修改 -- 重置 - 作者
繼續輸入下面命令:
git rebase --continue
最后執行下面命令:
git push --force origin master
注意: 很重要的一點是,你最好保證在你強制push之前沒有人提交代碼,如果在你push之前有人提交了新的代碼到遠程倉庫,
然后你又強制push,那么會被你的強制更新覆蓋。
結束
修改之后, github上面顯示正常,如下所示: