如何在git中获取对提交的引用

翁德里

让我们拥有一个git master分支,并在某个时候让fork分支发布(release分支称为R1)。有时我需要对它们(master和R1)都进行提交。通常,我在master分支上工作,完成后我对其进行测试,选择R1,在那里进行测试,然后将它们推入两者。

我想在R1中提交对master分支的引用。这是通过cherry-pick -x完成的。但是,这种方法仅在我推送到master分支,然后从master到R1的情况下才起作用。可以说测试花费了太多时间,我想使master和R1尽可能地保持同步(我希望最大限度地减少两次推送之间的时间间隔),所以我想同时推送。这样,我无法获取引用(在Cherry-pick中为-x),因为在R1中进行基变时哈希值将发生变化(无法使用合并)。有什么方法可以自动执行此操作,因此我将在R1描述中使用正确的哈希值?像哈希预测一样?

星期二

有什么方法可以自动执行此操作,因此我将在R1描述中使用正确的哈希值?像哈希预测一样?

最简洁的答案是不。

更长的答案仍然是“否”,但是您可能不需要预测哈希值。这里的问题是,您正在将一些修订提交(我们称其为“复制”)Fmaster另一个分支复制我们称其-x为“精心挑选的副本提交” Fx您还可能最终将修订提交复制到新的修订提交,因为要避免git merge在此工作流程中使用它,因此,如果master已获取新的提交,则可以使用rebase挑选FF'将要添加到的新提交master,现在,您要用的Fx精选樱桃副本替换您的-精选F樱桃副本F'

因此,您可以这样做。如果您以提交F基准F',请Fx从另一个分支中剥离并重新运行git cherry-pick -x以复制F'Fx'您已经知道这些是哪些提交,因为您具有的原始哈希IDF并通过选择(通过rebase)产生了它F'并且您在中具有F哈希ID Fx其缺点是,该再拷贝任何提交 Fx在另一个分支中,由于“带材Fx从另一个分支”可以是平凡的。

(一种避免所有麻烦的替代方法是修订合并到两个分支中。请参阅如何在git中进行部分合并?以及链接的博客文章。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章