Git: 为什么我已经完成了几次合并,但历史记录中只显示了 1 次?

Git: Why is only 1 merge showing in my history when I have done several?

这是我的提交历史git log --pretty=%h --graph(提交顺序从下到上)

* 81e1852 <- I have merged back in twice to get to this
* b6cb648
* 3ef6e0b
* a1f56c5
* a35a50a
* 47b2058 <- I have made a couple of branches since here
* 43c1912
*   19d189f <- Here I merged back in
|\
| * 837998b
| * 30c0a6c
| * e667ee8
| * f41ccfa
* | 54bd96c <- Here I branched off
|/
* 407af14
* 7951cdf
* a8db147 <- This was my first commit

如您所见,在我最初的提交后,我分支了一些提交,进行了一些更改,然后合并回来。自提交 19d189f 以来,我又做了两次完全相同的事情,但这不是载入史册。

显然我一定做了一些不同的事情,你知道那可能是什么吗?我还没有变基,我还在学习 Git 并且我还没有尝试过变基。有可能我在合并 19d189f 时不得不解决一些冲突,这可能就是为什么这个分支出现在我的历史记录中而其他分支没有出现的原因吗?另请注意,我目前除了 master 之外没有其他分支机构,而且我完全在本地工作。

谢谢

* | 54bd96c 

这是您在 master 分支和 feature 分支中同时提交的唯一一次。使用了 常规合并 ,导致此提交:

*   19d189f <- Here I merged back in

在所有其他情况下,您合并了一个分支,自分支点以来没有对 master 进行任何提交。使用了 快进合并 ,它不会创建合并提交。所以在图表上什么也看不到。

另外,参见 Why does git fast-forward merges by default?