【发布时间】:2012-08-10 22:07:43
【问题描述】:
在 EGit 中,当我到达 Team > Switch to > New branch 时,我最终看到了下面的对话框。此对话框中列出的各种拉取策略的含义是什么?
【问题讨论】:
在 EGit 中,当我到达 Team > Switch to > New branch 时,我最终看到了下面的对话框。此对话框中列出的各种拉取策略的含义是什么?
【问题讨论】:
看看这个来自 here :
从上面的链接:
“拉动策略”组仅在选择分支时可见 组合并允许覆盖“上游”的默认设置 配置”,这在获取和推送时很有帮助,但是 尤其是拉的时候。根据选择的选项 可以选择以下配置:
Rebase:拉取时,将从上游获取新的更改,并更新远程跟踪分支。然后当前本地分支将重新基于更新的远程跟踪分支
Merge:拉取时,将从上游获取更改并更新远程跟踪分支。然后当前本地分支将与新更改合并。如果新分支基于远程跟踪分支,则这是默认设置(但此默认设置可能会被特定存储库配置覆盖)
无:拉取时,不会对新分支做具体的上游配置;但是,如果存在默认遥控器(遥控器 名称为“origin”,pull 将尝试使用此配置 偏僻的;如果新分支不基于远程,这是默认设置 跟踪分支
我认为,上面的命令行等效如下:
变基
git fetch //This updates the remote-tracking-branch such as remotes/origin/master
git rebase remotes/origin/master
合并
git fetch // This updates the remote-tracking-branch such as remotes/origin/master
git merge remotes/origin/master
写完之后,我对 GIT 的了解并不能使我对上述内容充满信心。
【讨论】:
checkout。此外,git pull 是 merge 策略的快捷方式(如果您愿意的话),git pull --rebase 是 rebase 策略的快捷方式。