我的用例很常见。
我添加了一个提交,通过我的构建系统。构建系统上的一些提交后测试失败。系统配置为还原此类提交。
因此系统还添加了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-commit1
和good-commit2
都会更改my-bad-commit
中我修改过的文件。
如何在my-bad-commit
之上添加我的修补程序,或者还原good-revert-commit
并在其上添加修复程序,然后重新应用其他开发人员的良好提交?
注意:我们的系统不允许-f
(强制推送)到主分支。
答案 0 :(得分:1)
只需使用
恢复还原git revert good-revert-commit -n
-n
是此处--no-commit
的同义词。
因此,更改将在索引中,然后git add
您的其他更改,完成提交并推送。