2015-10-14 37 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

只要進入「科」菜單,然後選擇「合併到當前分支...」,然後選擇分支你想從你的「更新」。