Githib正在将我的分支提交给我的主分支。这是预期的行为吗?
我已经做了一些git分支的实验,一组特定的命令彻底改变了我的图形的外观 所讨论的git如下所示: 正在测试的内容: 只看图表的右边部分,最后5次提交Githib正在将我的分支提交给我的主分支。这是预期的行为吗?,git,github,git-merge,git-branch,branching-and-merging,Git,Github,Git Merge,Git Branch,Branching And Merging,我已经做了一些git分支的实验,一组特定的命令彻底改变了我的图形的外观 所讨论的git如下所示: 正在测试的内容: 只看图表的右边部分,最后5次提交 一个分支(branch1)从主分支分叉 术后第1小枝有3处变化 之后,主人身上有1处变化 在branch1上与master执行合并,以“与master保持最新”。到目前为止,图表与预期相符 合并已在masters上执行,该分支上的开发已完成。这是两个图形发生剧烈变化的地方。我想要我用mspaint绘制的东西,但我得到了下面的图片 我所期望的
- 一个分支(branch1)从主分支分叉
- 术后第1小枝有3处变化
- 之后,主人身上有1处变化
- 在branch1上与master执行合并,以“与master保持最新”。到目前为止,图表与预期相符
- 合并已在masters上执行,该分支上的开发已完成。这是两个图形发生剧烈变化的地方。我想要我用mspaint绘制的东西,但我得到了下面的图片
我开始认为这可能只是一个github表示错误。我在我的主分支上看到分支提交,这不应该是这样-除非有人告诉我它是合并使用的是快进 我正在使用以下代码:
git merge --no-ff
我查看了:上的文档,发现git merge在默认情况下会使用FastForward(如果可以的话)。虽然从Attlasian上的简单示例中看不到这一切,但FastForward将以一种方式改变历史,即不再清楚哪个提交是在哪个分支中完成的
这是我不想要的行为。在我的主分支中,我只想保留在主分支中实际完成的提交,而不想让它们与某个分支混淆。您可以使用git reset--hard commit(硬提交)将提交替换为要恢复到的提交的哈希(合并之前)。我尝试过,这让我有了上一次的承诺——然而它又重新爬上了新的树。i、 e.我仍然可以在合并后添加的“主分支”中看到我的“分支”提交的历史记录。我假设merge不会更改历史记录,这就是我想使用它的原因。