【问题标题】:What is the meaning of pull strategy when creating a branch with egit?用egit创建分支时拉取策略是什么意思?
【发布时间】:2012-08-10 22:07:43
【问题描述】:

在 EGit 中,当我到达 Team > Switch to > New branch 时,我最终看到了下面的对话框。此对话框中列出的各种拉取策略的含义是什么?

【问题讨论】:

    标签: eclipse git egit jgit


    【解决方案1】:

    看看这个来自 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 的了解并不能使我对上述内容充满信心。

    【讨论】:

    • FWIW,因为这是一个拉取策略,它会在你所在的分支上运行,所以不需要checkout。此外,git pullmerge 策略的快捷方式(如果您愿意的话),git pull --rebase 是 rebase 策略的快捷方式。
    • 我建议您使用 rebase 作为默认值,并且仅当您有大量合并提交时才从命令行执行 no-rebase。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2020-06-01
    • 2019-10-18
    • 2020-12-23
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多