【发布时间】:2011-05-04 07:07:54
【问题描述】:
所以我的一位同事不小心做了一个合并,实际上只保留了树的一侧。于是他开始了一次合并,删除了合并引入的所有变更,然后提交了合并。
这是我在测试存储库中所做的一个简单测试用例。这个 repo 有三个分支。 idx是不小心合并的topic分支,master是主线。 dev 只是测试 revert -m 的工作原理,所以你可以忽略它。
我想要做的是恢复错误的合并。所以从主人那里我尝试运行git revert -m 1 <sha1sum of faulty merge>,但随后 git 回应:
# On branch master
nothing to commit (working directory clean)
因此它实际上并没有创建撤消合并的还原提交。我相信这是因为合并实际上并没有包含任何真正的变化。
这是一个 git 错误,还是我遗漏了什么?
【问题讨论】:
-
我不确定你为什么说“它实际上并没有创建合并提交”——它不应该。您应该期望它会创建一个正常的提交,这会逆转合并提交的效果。
-
是的,很抱歉应该说它实际上并没有创建一个还原提交。
-
测试回购链接已损坏,重定向到一个阴暗的网站
-
@Tanvir 谢谢,删除了旧链接。
标签: git version-control merge