首页 > 解决方案 > Git cherry-pick 到集成分支,然后从功能分支恢复原始提交

问题描述

将原始提交还原到目标分支时会产生什么后果?

有一个分支 ( say feature ) 有一些更改 (commit: A ),而这个更改预计会在另一个分支 ( say integration ) 中。所以,我从一个分支到另一个分支(导致一个新的提交:AC,在分支中)
精心挑选了这个更改(提交:A)。 featureintegrationintegration

但是,由于测试需要,feature预计分支根本不会包含此更改(提交:A)。
因此,我不得不从分支中恢复A (导致分支中feature的恢复提交ARfeature)。

现在,如果稍后我将此feature分支合并到integration分支中,那么最初选择的更改中是否会有任何问题或冲突。
[在此合并后,集成将包含所有 3 个提交,即。 A , AR , AC ]
提交AR将使提交A无效,它不会也使提交AC无效吗?

标签: gitgit-branchcherry-pickgit-cherry-pickgit-merge-conflict

解决方案


不,应该没问题。AR 只会恢复 A 的更改,然后 AC 将重新安装它们。

另请注意:您可以考虑在 A ( ) 之前重置为提交,git reset --hard A^而不是还原它,但我想这在很大程度上取决于您的具体情况,并且可能与工作流样式选择有关。


推荐阅读