Git 变基进程

Git rebasing process

在工作中有人告诉我,在使用 Git 时,我应该始终尝试变基而不是合并。到目前为止,我对这种方法不是很满意,因为合并一直很容易,通常会产生较少的冲突并反映代码开发方式的真实自然方式(在分支中)。变基通常会导致大量冲突,并使更改历史呈线性变化,无法反映现实。

无论如何,让我这样做的人向我展示了我应该遵循的流程来减少冲突的数量:

  1. 创建分支
  2. 做一些提交
  3. 在 master 之上变基并解决冲突
  4. 推送

现在,他还要求我每天在继续该分支的工作之前执行以下操作:

  1. 早上第一件事就是在 master 之上重新定位
  2. 做一些提交
  3. 再次变基并解决冲突
  4. 推送

最令人沮丧的部分是第 3 点,因为即使我的提交非常小,此时的冲突数量也是巨大的。

当我向另一个同事征求意见时,他告诉我,我们不应该多次变基,这就是为什么我有那些讨厌的冲突。但是在这种情况下,如果我在一段时间后回到分支机构,我可能不记得是否已经重新定位。这就是为什么我总是更喜欢合并,它更容易,而且不会出错。

无论如何,如果我仍然想坚持使用 rebase 的要求,您有什么建议?当我回到一个已经变基的旧分支时,我应该遵循的 "correct" 流程是什么?或者如果我不应该多次变基,如何轻松检测它是否已经变基?

$ git config rerere.enabled true

Rerere(重复使用记录的分辨率)可能是你的朋友:]