抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

Git 修改多份已提交代码

在公司往 github 上传代码,用的公司的 git 账户与邮箱,一下一览无余,为了避免麻烦。重新推了下代码。

主要依靠 git rebase,同时也是强制推送到远程覆盖之前的提交。

原理:就是退回很多次提交前,然后一个个的重新提交,最后强制推送,这种方式在多人合作的情况下就不好使了,以后还是注意些吧。

步骤:

1、反悔大法

git rebase -i -m HEAD

此处 HEAD 改为想要修改的提交的前一个提交。

2、定义反悔行为

这里例子随便找了2个提交,然后主要是将 pick 改成 edit,当然也可以使用缩写。支持的其它操作也都会提示。

3、保存执行

改为后保存,会一个个开始重新提交,这时候使用改名大法:

git commit --amend --author "GIT_NAME GIT_EMAIL" --no-edit && \
git rebase --continue

有几个提交就得提交几次,慢慢搞,不限于改名字邮箱。

PS: 合并操作还可以考虑 git squash

参考:

https://stackoverflow.com/questions/750172/how-to-change-the-author-and-committer-name-and-e-mail-of-multiple-commits-in-gi


0条评论

发表评论