如何在本地合并分支并使日志图看起来像在 GitHub 中通过 PR 合并时的样子

How to merge a branch locally and make the log graphs to look like when merged via PR in GitHub

这是使用 GitHub

的流程

现在,如果我 运行 在我的机器中 git log --graph --pretty=format:'%h -%d %s (%cr) <%an>'。我得到这样的东西:


*   83b98e0 - Merge pull request #17 from MyCompany/some-work (11 days ago) 
|\  
| * 8ee6573 - (origin/some-work) A message (11 days ago) 
| * 8ee6573 - (origin/some-work) Another message (11 days ago) 
|/  
*   ...

此流程未使用 GitHub,仅使用我的本地存储库

现在,如果我 运行 在我的机器中 git log --graph --pretty=format:'%h -%d %s (%cr) <%an>'。我得到这样的东西:

  
* 8ee6573 - (HEAD, origin/master, origin/HEAD, master) A message (11 days ago) 
* 8ee6573 - Another message (11 days ago) 
*   ...

问题

如果我像在第二个流程中一样工作,是否有一种方法可以获得第一个流程的漂亮图表(您可以清楚地看到这两个提交已成为名为 some-work 的分支的一部分)流动?即不使用远程仓库进行合并。

您所描述的是 fast-forward merge,如果分支实际上没有分歧,则会自动使用它。为了避免快进并使用显式合并,try

git merge --no-ff some-work