最近发现自己连续三天在github上的提交没显示在个人主页上,一番搜索后终于发现原来是因为没有把git的配置改过来,提交的代码时使用了不同的email。

https://code.bradymower.com/why-arent-my-commits-showing-up-on-my-contributions-graph-52141efa7542
http://www.cnblogs.com/dongliu/p/5782329.html

解决方案有两个

  • 修改github的配置,添加一个email地址
  • 修改历史提交记录,改掉那些提交的email

最终自己选择了后者,由于提交记录并不多,于是根据https://stackoverflow.com/questions/750172/change-the-author-and-committer-name-and-e-mail-of-multiple-commits-in-git选用了一个保守的方案

0. 环境:git version 2.14.1.windows.1

1. 确认最上一次email正确的提交位置并rebase。例如`git rebase -i HEAD~6`表示回溯6个提交

 

2. 在每个pick记录后添加一行`exec git commit --amend --author="New Author<New Email Address>" -C HEAD`,其中New Author/New Email Address为想要的作者信息

3. 保存后退出

4. git pull

5. git push

再刷新github个人主页便能够看到过去几天的提交记录,由于修改过去的提交记录信息是一种非常危险的操作,故这样的方案是非常不被推荐的。同时修改成功后,仍然能在Graph上看到原提交记录以及email,不同的是它们已被新记录覆盖掉。

 posted on 2017-11-24 18:00  hiv  阅读(986)  评论(0编辑  收藏  举报