在我的 git 网络图上,我想保持分支分离。然而,如果我遇到这样一种情况,我将我的 master 拆分到分支 A,然后对 A 进行一个或多个提交,然后将其 merge 回 master,该图显示 master 和 A 的一条线,尽管事实上至少有一个不包括提交点。
换句话说,我的图表是这样的:
*------*------*------* (master/A)
我希望它看起来像这样:
*------*------*------* (master/A)
\__________________/
我知道在 commit 或 push 中有一个选项可以强制执行此操作(我曾经做过一次,很久以前),但我这辈子都找不到它。
有人知道执行此操作的命令吗?其次,为了额外加分,它在 Android Studio 中的位置?
谢谢!
最佳答案
作为Mykola在评论中说,答案是:
git merge --no-ff
git merge 的正常行为是“快进”基础分支 HEAD 到你在新分支上的位置。这有效地删除了您的新分支(上例中的 A)。指定“不快进”会添加一个新提交并为后代保留分支 A 的存在。
另见:http://www.relativesanity.com/articles/ffwd
奖励答案:在 Android Studio 中,可以使用 no-ff 选项。但是,您不能使用右下角的快速分支菜单,您可以在其中选择分支并单击 merge 。您需要走“长”路——从顶部菜单中选择 VCS/Git/Merge Changes。这将为 merge 提供一个对话框,允许您设置选项,包括“不快进”
关于用于在网络图中拆分分支的 Git 提交选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001889/