情况:Bob 将他的开发分支 BranchA 合并到 master (commit hash [c1]),然后在 master (commit hash [c2]) 上执行另一个提交以调整一些东西并删除一些他忘记的调试行。然后在 master 上执行更多的提交(散列 [c3] 和 [c4]),它们不会触及 [c1] 和 [c2] 所做的任何相同代码。
好吧,Bob 实际上并没有进行这些更改的权限,我们现在想将它们(两者)都从 master 中支持出来。
如果我们这样做git revert -m 1 [c1]
,它会给出这个错误:
错误:无法恢复 [c1]... 合并到 BranchA(拉取请求 #398) 提示:解决冲突后,标记更正的路径 提示:使用 'git add <paths>' 或 'git rm <paths>' 提示:并使用 'git commit' 提交结果
那么,我们应该如何正确删除该代码呢?作为说明,我们仍然希望将提交 [c3] 和 [c4] 保留在我们的代码库中——我们只需要在 [c1] 发生的合并和在 [c2] 处取出的提交。