Githib正在将我的分支提交给我的主分支。这是预期的行为吗?

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绘制的东西,但我得到了下面的图片 我所期望的

我已经做了一些git分支的实验,一组特定的命令彻底改变了我的图形的外观

所讨论的git如下所示:

正在测试的内容:

只看图表的右边部分,最后5次提交

  • 一个分支(branch1)从主分支分叉
  • 术后第1小枝有3处变化
  • 之后,主人身上有1处变化
  • 在branch1上与master执行合并,以“与master保持最新”。到目前为止,图表与预期相符

  • 合并已在masters上执行,该分支上的开发已完成。这是两个图形发生剧烈变化的地方。我想要我用mspaint绘制的东西,但我得到了下面的图片

我所期望的 要想看到一个漂亮的图形,就像图片上方的草图一样

我得到了什么 完成历史记录的重写-在分支中完成的提交现在显示在master中

问题 这是预期的行为吗?用merge对历史进行了重写,我的所有branch1提交现在都在master中可见,这是我不想发生的

我能不能撤销这个,转到前一个阶段,使用我拥有的漂亮图表

EDIT1
我开始认为这可能只是一个github表示错误。我在我的主分支上看到分支提交,这不应该是这样-除非有人告诉我它是

合并使用的是快进

我正在使用以下代码:

git merge --no-ff
我查看了:上的文档,发现git merge在默认情况下会使用FastForward(如果可以的话)。虽然从Attlasian上的简单示例中看不到这一切,但FastForward将以一种方式改变历史,即不再清楚哪个提交是在哪个分支中完成的


这是我不想要的行为。在我的主分支中,我只想保留在主分支中实际完成的提交,而不想让它们与某个分支混淆。

您可以使用git reset--hard commit(硬提交)将提交替换为要恢复到的提交的哈希(合并之前)。我尝试过,这让我有了上一次的承诺——然而它又重新爬上了新的树。i、 e.我仍然可以在合并后添加的“主分支”中看到我的“分支”提交的历史记录。我假设merge不会更改历史记录,这就是我想使用它的原因。