【问题标题】:git set-upstream-to VR trackgit set-upstream-to VR 轨道
【发布时间】:2014-11-23 07:15:22
【问题描述】:

最近我尝试设置我的本地分支feature 来跟踪我的远程分支上的更改,如下所示:

$ git branch --set-upstream feature origin/feature

一切顺利,但我收到了这条消息:

The --set-upstream flag is deprecated and will be removed. Consider using --track or --set-upstream-to

我的问题是如何使用trackset-upstream-to 选项,它们之间是否存在显着差异?

更新:我正在使用git 版本1.8.4

【问题讨论】:

    标签: git github version-control git-branch git-remote


    【解决方案1】:

    在 Git 中,跟踪(或具有上游)的分支在存储库配置文件 (/.git/config) 中具有类似于以下内容的条目

    [branch "feature"]
            remote = origin
            merge = refs/heads/feature
    

    您一直使用的“--set-upstream”选项已直接替换为“--track”

    所以

    git branch --track feature origin/feature
    

    另外还有一个新的语法,比如

    git branch --set-upstream-to=origin/feature feature
    

    还有

    git branch -u origin/feature feature
    

    所有表单的功能都相同。

    【讨论】:

      【解决方案2】:

      --track 标志在创建新分支时使用:

      git branch --no-track foo origin/master  # new local foo, with no upstream
      git branch --track bar origin/master     # new local bar, tracks origin/master
      

      在这两种情况下,你告诉 git 新的本地分支将被创建,它当前指向第二个参数标识的提交(origin/master 这里)。然后,该分支也不会或确实“跟踪”另一个分支(这只是意味着git status 会说诸如ahead 2, behind 1 之类的东西,而git pull 会知道要合并什么)。

      如果你没有指定这些选项,git branch 会根据你是否给它第二个参数来猜测是否跟踪(但另请参阅branch.autosetupmerge 配置标志)。 (这与 git checkout 的分支名称不存在略有不同;它会查找名称“足够相似”的远程跟踪分支)。

      旧的--set-upstream 和新的--set-upstream-to 在参数顺序/放置方面是相同的除了。正在修复的问题是,将foo 更改为跟踪origin/master 毕竟,您必须编写:

      git branch --set-upstream foo origin/master
      

      您要求将origin/master 设置为将foo 作为其上游的“看起来”。与:

      git branch --set-upstream-to=origin/master foo
      

      很明显,您将foo 设置为将origin/master 作为其上游。此外,这允许您设置 current 分支的上游,而无需编写当前分支的 name

      git branch --set-upstream-to=origin/master
      

      这更像是其余的git branch 命令(它们都默认在当前分支上工作)。

      请注意,旧的set-upstream 和新的set-upstream-to 在分支已经存在后都会被使用。 (此外,如果一只猫在腿上走来走去,用键盘输入这些答案是很困难的 :-))

      【讨论】:

      • 不错的答案,对你的猫要有耐心:)
      • 也许你的猫想帮你回答这个问题。 :)
      猜你喜欢
      • 1970-01-01
      • 2018-02-07
      • 2011-12-06
      • 2013-03-14
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2013-08-04
      • 2021-05-15
      相关资源
      最近更新 更多