我正在研究我的feature branch
并在审核后合并到development
待部署。后来,一位同事决定发布一个版本,并将他和我的合并到master
。在部署时,他意识到他的代码有错误并恢复了master
.
在我们的分叉和拉动流程中,这意味着现在development
and master
均已恢复。
当我今天早上进来时,我像往常一样从开发中恢复过来,后来才知道发生了恢复。
现在我正在努力cherry-pick
我的原作feature branch
只是意识到它因为恢复而给了我“空提交消息”。
- 这是因为恢复是我之前提交的镜像吗?
- 有没有办法恢复原状? (让我头疼)
- 无论如何,既然我已经重新调整了基础,是否可以让我的提交显示在差异中
任何帮助是极大的赞赏。
Cherry-pick 和 rebase 检查提交的补丁 ID(基本上是更改的哈希值),并且已经看到更改存在于分支上,因此它不会选择它。变基有时会起作用,因为文件中的更改可能会导致实际差异发生一些变化 - 导致不同的补丁 ID - 但对于您来说情况似乎并非如此。
您可以“恢复恢复”,尽管这会重新引入您的同事引入的损坏的部分。然后你需要恢复你的同事所做的有缺陷的提交。需要大量返回,并且需要保持直线,所以慢慢来,并让某人坐在你旁边,以确保你不会错过任何东西。
另一种选择可能是通过执行以下操作来重放您的提交git show COMMIT_ID | git apply
。这会将差异重新应用到您的工作树。只要你的树是干净的,你就可以使用git commit -C COMMIT_ID
重新使用原始提交中的消息。你也许可以使用git format-patch
and git am
以避免额外的步骤。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)