Git 变基进程
Git rebasing process
在工作中有人告诉我,在使用 Git 时,我应该始终尝试变基而不是合并。到目前为止,我对这种方法不是很满意,因为合并一直很容易,通常会产生较少的冲突并反映代码开发方式的真实自然方式(在分支中)。变基通常会导致大量冲突,并使更改历史呈线性变化,无法反映现实。
无论如何,让我这样做的人向我展示了我应该遵循的流程来减少冲突的数量:
- 创建分支
- 做一些提交
- 在 master 之上变基并解决冲突
- 推送
现在,他还要求我每天在继续该分支的工作之前执行以下操作:
- 早上第一件事就是在 master 之上重新定位
- 做一些提交
- 再次变基并解决冲突
- 推送
最令人沮丧的部分是第 3 点,因为即使我的提交非常小,此时的冲突数量也是巨大的。
当我向另一个同事征求意见时,他告诉我,我们不应该多次变基,这就是为什么我有那些讨厌的冲突。但是在这种情况下,如果我在一段时间后回到分支机构,我可能不记得是否已经重新定位。这就是为什么我总是更喜欢合并,它更容易,而且不会出错。
无论如何,如果我仍然想坚持使用 rebase 的要求,您有什么建议?当我回到一个已经变基的旧分支时,我应该遵循的 "correct" 流程是什么?或者如果我不应该多次变基,如何轻松检测它是否已经变基?
$ git config rerere.enabled true
Rerere(重复使用记录的分辨率)可能是你的朋友:]
在工作中有人告诉我,在使用 Git 时,我应该始终尝试变基而不是合并。到目前为止,我对这种方法不是很满意,因为合并一直很容易,通常会产生较少的冲突并反映代码开发方式的真实自然方式(在分支中)。变基通常会导致大量冲突,并使更改历史呈线性变化,无法反映现实。
无论如何,让我这样做的人向我展示了我应该遵循的流程来减少冲突的数量:
- 创建分支
- 做一些提交
- 在 master 之上变基并解决冲突
- 推送
现在,他还要求我每天在继续该分支的工作之前执行以下操作:
- 早上第一件事就是在 master 之上重新定位
- 做一些提交
- 再次变基并解决冲突
- 推送
最令人沮丧的部分是第 3 点,因为即使我的提交非常小,此时的冲突数量也是巨大的。
当我向另一个同事征求意见时,他告诉我,我们不应该多次变基,这就是为什么我有那些讨厌的冲突。但是在这种情况下,如果我在一段时间后回到分支机构,我可能不记得是否已经重新定位。这就是为什么我总是更喜欢合并,它更容易,而且不会出错。
无论如何,如果我仍然想坚持使用 rebase 的要求,您有什么建议?当我回到一个已经变基的旧分支时,我应该遵循的 "correct" 流程是什么?或者如果我不应该多次变基,如何轻松检测它是否已经变基?
$ git config rerere.enabled true
Rerere(重复使用记录的分辨率)可能是你的朋友:]