Ped*_*ino 1 git git-merge git-log
我不明白 的行为git merge。有时,我合并一个分支,执行后git log --graph,我可以看到分支合并为绘图,如下所示:
D \n / \\\n C B\n \\ /\n A\nRun Code Online (Sandbox Code Playgroud)\n我已经做了
\n$ git merge feature1 develop \nUpdating 4c3dd3e..a90a849 Fast-forward \nfileA.txt | 1 + 1 file changed, 1 insertion(+)\nRun Code Online (Sandbox Code Playgroud)\n有用。我什至可以删除主题分支,这表明该分支不再是不可或缺的并且合并成功:
\n$ git branch -d feature1 \nDeleted branch feature1 (was a90a849).\nRun Code Online (Sandbox Code Playgroud)\n但是,我看不到图纸。我只有一行:
\npedro (develop) second-final-project $ git log --graph \n\n* commit a90a84966040e36b994c0146bbd8a666954bee49 (HEAD -> develop)\n| Author: Pedro Delfino <p.delfino01@gmail.com>\n| Date: Fri Jul 16 12:29:24 2021 -0300\n| \n| add feature 1\n| \n* commit 4c3dd3ea0cfe07e1c9ccd9e65b2a2060137f1b27\n| Author: Pedro Delfino <p.delfino01@gmail.com>\n| Date: Fri Jul 16 11:49:00 2021 -0300\n| \n| add fileA.txt\n| \n* commit ae8124ea03436dd48d98424d594ff91b75bca00b (master)\n Author: Pedro Delfino <p.delfino01@gmail.com>\n Date: Fri Jul 16 11:48:33 2021 -0300\n \n add README.md\nRun Code Online (Sandbox Code Playgroud)\n也许由于快进提交,绘图不可见。但我想我之前已经看过快进合并中的绘图和合并提交。
\n此外,我期望看到一些不同的提交消息。我得到了可用的提交消息作为合并分支上的最后一次提交。
\n我希望看到带有该标准消息的合并提交,例如:
\n\n\n合并\xe2\x80\x8b \xe2\x80\x8b分支 'feature1'\xe2\x80\x8b \xe2\x80\x8bin进行开发
\n
有时,这种期望的消息自然会发生。在其他情况下则不然,比如现在的情况。
\n为什么会出现这种情况?合并分支时如何实现所需的标准消息和可视化绘图?
\n谢谢。
\n那是因为那里没有真正的合并。Git 只是从您原来的位置移动到您要合并的分支的位置(称为fast-forward)。这是因为两个分支之间没有真正的分歧。您所在的修订版是您要合并的分支的祖先之一,因此 git 避免了合并。在这种情况下,如果您想真正看到合并修订版,您需要运行git merge --no-ff