【问题标题】:How to merge a branch locally and make the log graphs to look like when merged via PR in GitHub如何在本地合并分支并使日志图看起来像通过 GitHub 中的 PR 合并时的样子
【发布时间】:2016-03-07 11:52:21
【问题描述】:

这是使用 GitHub 的流程

  • 我在 master 我的机器上
  • 我创建了一个分支 some-work,我正在处理它,我做了几个提交
  • 我将some-work分支推送到GitHub,分支是在GitHub中创建的
  • 在 GitHub 中:我做了一个 PR,合并 some-workmaster,删除 some-work
  • 再次在我的机器中:从master 我运行git pull origin master,我删除我的本地some-work

现在,如果我在我的机器上运行 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 的流程,只使用我的本地存储库

  • 我在 master 我的机器上
  • 我创建了一个分支 some-work,我正在处理它,我做了几个提交
  • 我结帐master
  • 我将some-work 合并到master (git merge some-work)
  • [可选] git branch -d some-workgit push origin master

现在,如果我在我的机器上运行 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 的分支的一部分)?即不使用远程仓库进行合并。

【问题讨论】:

    标签: git github version-control merge git-log


    【解决方案1】:

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

    git merge --no-ff some-work
    

    【讨论】:

      猜你喜欢
      • 2017-01-14
      • 2013-09-13
      • 2017-03-21
      • 1970-01-01
      • 2022-08-11
      • 2019-03-25
      • 2020-11-08
      • 1970-01-01
      • 2020-06-27
      相关资源
      最近更新 更多