即使在更多提交之后,Git也会恢复提交并添加更改

时间:2017-06-07 22:15:45

标签: git version-control git-rebase git-revert

我的用例很常见。

我添加了一个提交,通过我的构建系统。构建系统上的一些提交后测试失败。系统配置为还原此类提交。

因此系统还添加了Reverting back revision my-commit

现在,我添加了修正来纠正构建。但是其他人在我可以推进之前成功进行了2次提交。

所以现在我的状态是:

$ git log

commit good-commit1 
author: good-dev1
...

commit good-commit2
author: good-dev1
...

commit good-revert-commit
author: system
...

commit my-bad-commit
author: me
...

good-commit1good-commit2 都会更改my-bad-commit中我修改过的文件

如何在my-bad-commit之上添加我的修补程序,或者还原good-revert-commit并在其上添加修复程序,然后重新应用其他开发人员的良好提交?

注意:我们的系统不允许-f(强制推送)到主分支。

1 个答案:

答案 0 :(得分:1)

只需使用

恢复还原
git revert good-revert-commit -n

-n是此处--no-commit的同义词。

因此,更改将在索引中,然后git add您的其他更改,完成提交并推送。