如果我在没有变基的情况下拉动,我可以合并分支吗?



我有一个分支,我需要在某个时候合并回dev。通常我会使用变基而不是普通拉取,所以我的提交都整齐地位于提交树的顶部。

担心的是我必须解决很多合并冲突。如果我拉动而不变基,那么旧的提交将始终在那里引用,所以我可以丢失多少工作是有限的。

如果我独自一人拉动而不变基,当我需要将我的分支合并回 dev 时,这会带来任何风险吗?

绝对不是。事实上,拉取比变基更安全(因为您可以减少可能包含隐藏更改的合并提交)。人们更喜欢变基而不是拉动的主要原因是保持修订树尽可能线性。

与变基相比,拉取丢失数据的风险不多或少。它们本质上是相同的,除了提交的顺序(除了我上面提到的合并提交中的隐藏更改)。

我认为拉取比变基

更好,因为拉取中的合并提交只是在您进行有效更改后解决冲突(理想情况下),而变基冲突解决提交包括有效更改冲突解决。

如果您可以合并回dev而不是稍后在其上变基,那么您将只解决一次合并冲突,就像您拉动而不变基一样(这实际上是将dev合并到您的分支中)。

如果您最终需要在推送之前在dev之上变基,那么除非您rebase -p保留合并提交,否则您可能必须重新解决合并冲突。

目前的两个答案都是正确的。但是,git 确实允许这种确切的工作流程(变基)并且只解决冲突一次。

Git rerere(代表重用记录的分辨率)如果启用此选项,git 将自动解析合并,其中包含您第一次进行合并时的历史信息。

最新更新