这是使用 GitHub 的流程
- 我的机器
master
- 我创建了一个分支
some-work
,并对其进行了处理,我进行了几次提交 - 我将
some-work
分支推送到 GitHub,分支是在 GitHub 中创建
的 - 在GitHub中:我做了一个PR,
some-work
合并到master
中,删除some-work
- 再次在我的机器中:从我运行
git pull origin master
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-work
和git 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 merge --no-ff some-work