在下面这张Github(c)桌面应用程序的图片中,有一个“从主人更新”按钮(在这种情况下)。我想知道是否有人知道它触发的确切 git 功能。主要是我感兴趣的是使用 merge 或 rebase 。 (我找不到任何类型的日志控制台)。
答案 0 :(得分:16)
GitHub Desktop中按钮底层的git命令没有详细记录,所以我调查了一段时间。我总结说,"更新来自..."发送按钮
git merge --no-ff -m "Merge <auto_text> <branch_name>" <branch_name>
或类似于&#34;比较&#34;分支在GitHub桌面GUI中设置为<branch_name>
。
我通过以下方式得出结论:
首先,我将我控制的存储库分叉到我的GitHub帐户。然后,我将存储库从我的GitHub帐户克隆到我的本地计算机。接下来,我对(原始)主远程存储库进行了一些小改动。最后,我使用git fetch <remote_name_assigned_to_main_repo>
(<remote_name>
,以后)将单个提交带到我的本地计算机。在此fetch
之后,&#34;更新自...&#34;按钮亮了。
这设置了一个场景,其中我的本地存储库中签出的分支master
是主远程存储库中master
后面的一个提交。默认情况下,git merge <remote_name>
会产生快进合并(没有合并提交)。
使用&#34;更新来自...&#34;但是,按钮导致以下reflog
条目:
HEAD@{0}: merge <remote_name>/master: Merge made by the 'recursive' strategy.
log
中的合并提交:
Merge remote-tracking branch '<remote_name>/master'
(&#39;递归&#39;策略&#34; ...是拉动或合并一个分支时的默认合并策略。&#34;根据手册。)
我还设置了一个方案,其中git rebase
可能是一个选项,但看到了相同的合并行为。
答案 1 :(得分:5)
答案 2 :(得分:0)
进入&#34; Branch&#34;菜单,然后&#34;合并到当前分支......&#34;并选择你想要获得的分支&#34;更新&#34;从