用于在网络图中拆分分支的 Git 提交选项

Sco*_*ott 3 git git-branch android-studio

在我的 git 网络图上,我想保持分支分开。但是,如果我将 master 拆分为分支 A,然后对 A 进行一次或多次提交,然后将其合并回 master,则该图会同时显示 master 和 A 的一行,尽管事实上至少有一个不包括提交点。

换句话说,我的图表如下所示:

*------*------*------* (master/A)
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

*------*------*------* (master/A)
 \__________________/
Run Code Online (Sandbox Code Playgroud)

我知道在提交或推送中有一个选项可以强制执行此操作(并且我很久以前就做过一次),但是对于我的一生,我找不到它。

有谁知道执行此操作的命令?其次,为了额外的功劳,它在 Android Studio 中的位置?

谢谢!

Sco*_*ott 6

正如Mykola在评论中所说,答案是:

git merge --no-ff
Run Code Online (Sandbox Code Playgroud)

git merge 的正常行为是“快进”基本分支 HEAD 到您在新分支上的位置。这有效地擦除了您的新分支(上例中的 A)。指定“no Fast Forward”会添加一个新提交并为后代保留分支 A 的存在。

另见:http : //www.relativesanity.com/articles/ffwd

奖励答案:在 Android Studio 中,可以使用 no-ff 选项。但是,您不能使用右下角的快速分支菜单来选择分支并单击合并。您需要走“长”路 - 从顶部菜单中,选择 VCS/Git/Merge Changes。这将为合并提供一个对话框,允许您设置选项,包括“不快进”