我有一个分支,我需要在某个时候合并回dev。我需要继续从dev中删除更改。通常我会使用rebase而不是普通的pull,所以我的提交都整齐地位于提交树的顶部。
我担心的是我必须解决很多合并冲突。如果我没有重新定位,那么旧的提交将始终在那里引用,因此我可以丢失多少工作是有限的。
如果我单独行动而没有变基,那么当我需要将我的分支合并回dev时,这会带来任何风险吗?
答案 0 :(得分:0)
如果您可以合并回dev
而不是稍后重新定位,那么您将完全解决合并冲突一次,就像您在没有重新定位时拉动(这实际上是{的合并{1}}进入你的分支。)
如果在推送之前最终需要在dev
之上进行rebase,那么除非你dev
保留合并提交,否则你可能不得不重新解决合并冲突。
答案 1 :(得分:0)
绝对不是。事实上,pull比rebase更安全(因为你有更少的合并提交,可以包含隐藏的更改)。人们更倾向于使用rebase而不是拉动的主要原因是使修订树尽可能保持线性。
对于拉动而言,丢失数据的风险不会比使用rebase更多或更少。除了提交的顺序之外,它们本质上是相同的(除非我在上面提到过,否则合并提交中会隐藏更改)。
我认为拉动优于反转,因为拉动中的合并提交只是在您进行有效更改后解决冲突(理想情况),而反转冲突解决提交包括两个有效更改< em>和冲突解决。
答案 2 :(得分:0)
目前的答案都是正确的。然而,git确实允许这个确切的工作流程(变基)并且只解决冲突一次。
Git rerere(代表重用记录的分辨率)如果启用此选项,git将自动解析合并时第一次执行此操作时的历史信息。