我不明白下面的 GitLab 图表,而且我缺乏词汇来准确表达我的问题。作为参考,下图显示:
(忽略绿色树枝)
请纠正以下问题中的错误词汇。
在箭头1和箭头2之间,左侧
master
分支没有提交,而右侧分支有一些提交。
箭头1显示了一个点,其中
master
就像与master
本身“发散”一样。但是在它“发散”的那一刻和它合并的那一刻之间没有提交。那么它真的不是一个分支吗?这怎么称呼?为什么要这样做,如何做?
在箭头 2 处,“分歧”
master
合并回 master
。这样做有什么意义呢?怎么称呼?一个用例将有助于理解。
为什么箭头1指向的提交和右侧
master
的下一个提交之间有一个“洞”?这是如何运作的?
我觉得所有这些点都通过 git 逻辑连接起来,但我无法弄清楚哪一个以及我缺乏词汇量并不能帮助找到相关的搜索结果。
每次您想要将一个分支(例如,一个功能)合并到另一个尚未移动的分支(使用
git merge --no-ff
)时,都会发生这种情况。如果您允许 gir 在这种情况下随意合并,如果执行快进,则不会合并....但如果您想确保功能分支保持在侧面并且新的合并修订版是不管怎样,你使用 --no-ff
就完成了。当您希望能够移动功能时,这非常有用。一个简单的例子:向后移植。如果在这种情况下您没有像这样合并,您将很难知道该功能从哪里开始和在哪里结束。