阅读 202

GitBash教程 使用 git rebase修改历史commit信息 | github的contribution绿格子没了怎么办

据我研究,绿格子没了是因为你修改了用户邮箱,所以github默认不是你提交的了。你只要修改一下历史commit的用户邮箱即可。(我就是因为换了邮箱就出问题了)

那如何使用它更改之前已经提交过的commit的用户邮箱呢。


查看当前commit信息

  • git rebase -i HEAD~n

    是按照时间顺序由近到远显示最近提交的n条commit。 比如git rebase -i HEAD~3   会进入vim模式,英文状态下输入:q即可退出。

    在这里插入图片描述

    因为我要合并的信息是最开始的两条。最近三条信息铁定是看不到的。

  • git rebase -i --root这个是从远到近列出所有的commit信息。

    在这里插入图片描述

修改

首先使用

git rebase -i --root --committer-date-is-author-date

后边这个--committer-date-is-author-date是保留当时提交的时间,否则你虽然修改了但是commit时间会变为你修改的时间。

在这里插入图片描述

上图中可以看到我在最后三条前边改为e了,也就是edit编辑的意思。

将你想要修改的commit前面把pick改为e,保存退出。

不会修改的可能需要学一下vim怎么用。

在英文输入的状态下按i进入编辑模式,之后用法就和记事本一样。修改完毕之后Esc退出编辑模式。

再按:,输入wq保存修改并退出文件。

之后你会收到提示:

在这里插入图片描述

你可以使用

git commit --amend --author="用户名 <用户邮箱>"

输入之后你就会进入修改页面,也是vim编辑器。直接保存并退出即可。

在这里插入图片描述

修改完第一个文件之后git rebase --continue 继续修改下一个。

在这里插入图片描述

直到提示你所有的已经修改完毕。

Successfully rebased and updated refs/heads/master.

最后git push origin master -f强制推到远程仓库即可。

将用户邮箱修改以后,就可以看到我的绿格子已经恢复了。



作者:LolitaAnn
链接:https://juejin.cn/post/7032917579912085518


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐