参加11月更文应战的第21天,活动详情检查:2021最终一次更文应战
据我研究,绿格子没了是因为你修正了用户邮箱,所以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
强制推到长途仓库即可。
将用户邮箱修正今后,就能够看到我的绿格子现已恢复了。
更多用法看官方文档: git-scm.com/docs/git-re…