在下面这张来自Github(c)桌面应用程序的图片中,有这个按钮"Update from master“(在这种情况下)。我想知道是否有人了解它触发的确切git函数。首先,我感兴趣的是是否使用了merge或rebase。(我找不到任何类型的日志控制台)。
发布于 2015-12-04 19:10:10
GitHub桌面中的按钮下面的git命令没有很好的文档记录,所以我研究了一段时间。我的结论是“更新自...”按钮已调度
git merge --no-ff -m "Merge <auto_text> <branch_name>" <branch_name>
或者与GitHub桌面图形用户界面中设置为<branch_name>
的“比较”分支几乎相同的内容。
我通过以下方式得出结论:
首先,我将我控制的存储库派生到我的GitHub帐户。然后,我将存储库从我的GitHub帐户克隆到我的本地计算机。接下来,我向(原始)主远程存储库提交了一个小更改。最后,我使用git fetch <remote_name_assigned_to_main_repo>
(以下称为<remote_name>
)将单次提交带到我的本地机器。在此fetch
之后,"Update from...“按钮亮起。
这设置了一个场景,在这个场景中,分支签出,我的本地存储库中的master
比主远程存储库中的master
晚一个提交。默认情况下,git merge <remote_name>
会生成一个快进合并(没有合并提交)。
使用“更新自...”然而,按钮产生了以下reflog
条目:
HEAD@{0}: merge <remote_name>/master: Merge made by the 'recursive' strategy.
和log
中的合并提交
Merge remote-tracking branch '<remote_name>/master'
(“递归”策略“当拉取或合并一个分支时,...is默认的合并策略。”根据手册。)
我还设置了一个场景,其中git rebase
可能是一个选项,但看到了相同的合并行为。
发布于 2016-02-09 13:40:07
当我将鼠标悬停在按钮上时,它会显式地显示"Merge XX commits from“
发布于 2017-11-08 02:37:18
只需进入“分支”菜单,然后“合并到当前分支...”并选择您想要从其获取“更新”的分支。
https://stackoverflow.com/questions/33124699
复制相似问题