如何“还原”以前还原的提交?

时间:2017-05-26 18:08:39

标签: git git-revert

想象一下以下场景:

需要还原不应合并到集成分支的代码。但是,您不能只重置,因为此后其他提交已经发生。此外,您可能希望稍后重新应用该提交。

使用git revert来应用反向提交很容易。但是,当我们想要提交更改时(例如,从功能分支)会发生什么?你刚刚重新合并分支吗?这是否有效,因为技术上代码已经合并了?

当你最终准备接受合并时,你会怎么做?

2 个答案:

答案 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(-)

执行此操作后,您修复了分支中引入的回归,之前已恢复。稍后,您可以将该分支合并到原点