如果我没有重新定位,我可以合并一个分支吗?

时间:2016-01-15 17:06:30

标签: git

我有一个分支,我需要在某个时候合并回dev。我需要继续从dev中删除更改。通常我会使用rebase而不是普通的pull,所以我的提交都整齐地位于提交树的顶部。

我担心的是我必须解决很多合并冲突。如果我没有重新定位,那么旧的提交将始终在那里引用,因此我可以丢失多少工作是有限的。

如果我单独行动而没有​​变基,那么当我需要将我的分支合并回dev时,这会带来任何风险吗?

3 个答案:

答案 0 :(得分:0)

如果您可以合并回dev而不是稍后重新定位,那么您将完全解决合并冲突一次,就像您在没有重新定位时拉动(这实际上是{的合并{1}}进入你的分支。)

如果在推送之前最终需要在dev之上进行rebase,那么除非你dev保留合并提交,否则你可能不得不重新解决合并冲突。

答案 1 :(得分:0)

绝对不是。事实上,pull比rebase更安全(因为你有更少的合并提交,可以包含隐藏的更改)。人们更倾向于使用rebase而不是拉动的主要原因是使修订树尽可能保持线性。

对于拉动而言,丢失数据的风险不会比使用rebase更多或更少。除了提交的顺序之外,它们本质上是相同的(除非我在上面提到过,否则合并提交中会隐藏更改)。

我认为拉动优于反转,因为拉动中的合并提交只是在您进行有效更改后解决冲突(理想情况),而反转冲突解决提交包括两个有效更改< em>和冲突解决。

答案 2 :(得分:0)

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

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