2015-10-14 50 views
19

在Github(c)桌面应用程序下面的这幅图中,有这个按钮“从主人更新”(在这种情况下)。我想知道是否有人知道它触发的是什么确切的功能。主要我感兴趣,如果合并rebase被使用。 (我找不到任何类型的日志控制台)。Github桌面:“从<branch>更新”按钮

enter image description here

回答

14

底层中的GitHub桌面按钮时,GIT中命令不被充分证明,所以我调查而回。我的结论是,“从更新...”按钮派出

git merge --no-ff -m "Merge <auto_text> <branch_name>" <branch_name> 

什么用“比较”分支在GitHub的桌面GUI设置为<branch_name>几乎相同。

我达成以下方式得出结论:

首先,我叉,我控制我的帐户GitHub的一个仓库。然后,我将存储库从我的GitHub帐户克隆到本地计算机。接下来,我对(原始的)主远程存储库进行了一些小修改。最后,我使用git fetch <remote_name_assigned_to_main_repo><remote_name>,以下简称)将单次提交提交到本地计算机。在fetch之后,“从...更新”按钮点亮。

此设立其分支机构在我的本地库签出,master的情景,是在主远程仓库提交一个落后master。默认情况下,git merge <remote_name>会产生快进合并(没有合并提交)。

使用 “更新从...” 按钮,但是,导致以下reflog项:

[email protected]{0}: merge <remote_name>/master: Merge made by the 'recursive' strategy. 

和合并提交的log

Merge remote-tracking branch '<remote_name>/master' 

(在“递归'策略'...是拉动或合并一个分支时的默认合并策略“)。

我还设置了一个场景,其中git rebase mi ght是一种选择,但看到了相同的合并行为。

+3

GitHub很可能选择了这种设计,即使在快速合并或rebase可能是首选的情况下也需要合并提交,而不是保守主义。 GitHub桌面用户很可能是Git的新手,并且可以通过'git revert'撤消合并提交,而快速合并或重新绑定则不能。 – SoFarther

5

当我将鼠标悬停在该按钮,它明确地说,“合并XX从提交”

enter image description here

0

只要进入“科”菜单,然后选择“合并到当前分支...”,然后选择分支你想从你的“更新”。