想象一下以下场景:
需要还原不应合并到集成分支的代码。但是,您不能只重置,因为此后其他提交已经发生。此外,您可能希望稍后重新应用该提交。
使用git revert
来应用反向提交很容易。但是,当我们想要提交更改时(例如,从功能分支)会发生什么?你刚刚重新合并分支吗?这是否有效,因为技术上代码已经合并了?
当你最终准备接受合并时,你会怎么做?
答案 0 :(得分:7)
只需恢复还原提交。
git revert HASH_OF_REVERT_COMMIT
答案 1 :(得分:0)
如果我理解了你的场景,你想要恢复合并到集成分支的分支。
在这种情况下,例如,
git <your_branch> merged to master, pushed to origin/master.
您希望将提交的内容还原为原始内容。
这将恢复单个提交,并且还用于还原合并提交。
示例:强>
git revert -m 1 <commit-ID>
Finished one revert.
[master xxxxxxx] Revert "Merge branch 'xx/your_branch'"
10 files changed, 0 insertions(+), 12 deletions(-)
git revert将引入新的提交。您需要提交更改并将其推送到origin / master或相应的origin / branch。
如果你决定重新合并这些东西怎么办?它的回归是固定的?
示例:强>
git revert <commit-ID>
Finished one revert.
[master xxxxxxx] Revert "Merge branch 'xx/your_branch'"
10 files changed, 12 insertions(+), 0 deletions(-)
执行此操作后,您修复了分支中引入的回归,之前已恢复。稍后,您可以将该分支合并到原点