起因
由于电脑配置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上面显示正常,如下所示: