Git cherry-pick 到集成分支,然后从功能分支恢复原始提交
Git cherry-pick to integration branch and then revert the original commit from feature branch
如果将原始提交还原到目标分支,会产生什么后果?
有一个分支(说 feature
)有一些变化(提交:A),而这个变化是预计在另一个分支(说 integration
)。
所以,我挑选了这个更改(提交:A)从 feature
分支到 integration
分支(导致新提交:AC ,在 integration
分支)。
但是,由于测试需要,feature
分支预计根本不会包含此更改(提交:A)。
因此,我不得不从 feature
分支恢复 A(导致恢复提交 AR,在 feature
分支机构)。
现在,如果稍后我将此 feature
分支合并到 integration
分支中,最初精心挑选的更改是否会出现任何问题或冲突。
[合并后,集成将包含所有 3 个提交,viz. A, AR, AC]
提交 AR 将使提交 A 无效,它不会也使提交 AC 无效吗?
不,应该没问题。
AR 只会恢复 A 的更改,然后 AC 会重新安装它们。
另请注意:您可以考虑重置为 A (git reset --hard A^
) 之前的提交,而不是还原它,但我想这在很大程度上取决于您的具体情况,也许有点工作流程样式选择。
如果将原始提交还原到目标分支,会产生什么后果?
有一个分支(说 feature
)有一些变化(提交:A),而这个变化是预计在另一个分支(说 integration
)。
所以,我挑选了这个更改(提交:A)从 feature
分支到 integration
分支(导致新提交:AC ,在 integration
分支)。
但是,由于测试需要,feature
分支预计根本不会包含此更改(提交:A)。
因此,我不得不从 feature
分支恢复 A(导致恢复提交 AR,在 feature
分支机构)。
现在,如果稍后我将此 feature
分支合并到 integration
分支中,最初精心挑选的更改是否会出现任何问题或冲突。
[合并后,集成将包含所有 3 个提交,viz. A, AR, AC]
提交 AR 将使提交 A 无效,它不会也使提交 AC 无效吗?
不,应该没问题。 AR 只会恢复 A 的更改,然后 AC 会重新安装它们。
另请注意:您可以考虑重置为 A (git reset --hard A^
) 之前的提交,而不是还原它,但我想这在很大程度上取决于您的具体情况,也许有点工作流程样式选择。