3

假设我有来自 origin/master 的本地分支 A。我不断地对分支 A 进行更改,获取远程主机并重新设置基础。

然后我在 A 中建立了本地分支 B。我不断地对分支 B 进行更改并重新设置基础。

我是唯一一个在分支 A 和 B 工作的人。

这是一个糟糕的设置,因为 A 的提交 ID(哈希)可能会经常更改?这是否会以任何方式破坏分支 B 的稳定性或使冲突更有可能发生?

事实上,Git 是如何实现这个设置的呢?如果 A 的提交 ID 不断变化,那么 B 的 HEAD 是什么?

4

2 回答 2

4

如果您处于这种类型的循环(获取/变基)并且一遍又一遍地看到相同的冲突,您可以激活该git rerere功能。
这将避免必须为每个变基执行相同的冲突解决方案。

另请参阅“启用有什么缺点git rerere吗? ”、“有趣的 rerere ”和“ Rerere Your Boat... ”了解更多信息。

于 2012-08-19T07:49:03.030 回答
0

这可能会导致冲突每次都继续导致冲突。

除非主题 B 依赖于主题 A,否则不要将 B 从 A 中变基。

否则,避免引起 A 和 B 之间的冲突。

git 实现是 B 上的提交将依赖于旧 A 分支上的提交,直到您重新设置基准。

基本上,当你变基时,git 不会删除旧的提交,它只是通过变基创建新的提交,并将分支 A 头指针设置为新的最终提交。

分支只是指向提交的指针。

于 2012-08-19T01:39:19.763 回答