3

我有一个“主”存储库,我克隆它并在克隆中进行一些更改。与此同时,“main”中还有其他变化,所以我将它们拉出来并将它们合并到我的克隆中。我在克隆中进行了更多更改,并合并了“main”中的任何其他新更改。这给了我这个图表:

在此处输入图像描述

当我在克隆中完成工作时,我推送到主存储库,现在“main”中的图形如下所示:

在此处输入图像描述

我知道它们在拓扑上是相同的,但对我来说第一个更清楚(这是一个非常简单的案例,但事情可能会变得更复杂)。

有什么办法可以防止这种情况发生吗?我发现了这个关于事后重新排序图表的问题,但我在想我的工作流程中可能存在问题,或者我可以改变一些东西来防止它。

4

1 回答 1

4

问题是图表是按修订号排序的,而不是按修订日期。这实际上是按修订出现在当前存储库中的日期/时间排序。thg 项目有一个悬而未决的问题,允许按修订日期对列表进行排序,但其中一位开发人员表示,此更改将需要隐藏图表,因为他认为重新编写绘图员对于收益太少(问题就在这里)。

我知道没有涉及合并的工作流来修复它,因为如果在多个存储库上执行工作,则修订在不同存储库上的顺序将永远不会相同。

整理树的一种方法是使用rebase而不是merge在拉取更改之后使用。这将导致没有合并的单个分支,因为它会重写历史记录以使其看起来好像您的draft修订是在您刚刚提取的更改之后实施的。如果您想继续阅读rebase,该信息就在这里

于 2013-02-12T09:28:25.137 回答