【问题标题】:What does 'track' mean when creating a new branch in git?在 git 中创建新分支时,“track”是什么意思?
【发布时间】:2013-02-03 19:48:02
【问题描述】:

我正在使用 Aptana 和 Git。当我去创建一个新分支时,会出现以下对话框。

我想知道那个“跟踪”复选框有什么作用,什么时候最适合检查它。

我理解 git 中跟踪的概念,但主要是文件。我似乎不明白它如何应用于正在创建的新分支?

【问题讨论】:

    标签: git aptana


    【解决方案1】:

    在这种情况下,track 指的是 git-checkout 和 git-branch 的 --track 选项。

    当本地分支从远程跟踪分支启动时,git 设置分支以便git pull 将适当地从远程跟踪分支合并。

    来自man git-branch

    -t, --track
        When creating a new branch, set up configuration to mark the
        start-point branch as "upstream" from the new branch. This
        configuration will tell git to show the relationship between the
        two branches in git status and git branch -v. Furthermore, it
        directs git pull without arguments to pull from the upstream when
        the new branch is checked out.
    

    【讨论】:

    • 啊,好的。因此,如果我从 master 创建一个新分支并跟踪它。当我在我的分支上工作时,我可以继续在我的分支上工作,同时拉动在 master 中所做的更改?如果我理解正确,请告诉我,谢谢!
    • 但是,这两个分支都是本地的。那么什么时候合并呢?
    • 是的,你说的是对的。在任何情况下,合并都会在git pull 进行,即使跟踪的分支是本地的。
    • @MarcoLeogrande - 句子“当本地分支从远程跟踪分支启动时”来自git-branch 手册页。不应该这样表述:“当本地分支作为远程跟踪分支启动时”?
    【解决方案2】:

    我仍然不明白 Marco 提供的答案,即使在阅读了 cmets 之后。所以我决定自己进一步研究一下,用外行的话提供一个答案......


    本地分支:是从 Git 的主分支分支的路径。 master 分支是最终提交更改的主要路径。分支是本地的,没有链接到远程分支。

    远程分支: 与“本地分支”相同,但位于远程 Git 上。分支是远程的,没有链接到本地​​分支。

    远程跟踪分支:

    • 它们用于将您在本地处理的内容与远程处理的内容联系起来。
    • 当执行git pullgit fetch 时,他们知道从哪个远程分支获取更改。输入 git status 将说明您在远程分支之前有多少次提交。

    妙语……

    使用--track 将创建分支,然后自动从所选分支中“拉取”。所以在这种情况下(参考问题中的图片),将创建一个名为“feat/password-confirmation”的新分支本地,并将与名为“master”的远程分支进行比较(遥控器上的主路径)

    我以为你说 master 分支是本地的?本地和远程的主路径都称为'master',但只与git pushgit pull交互。

    如果您不需要跟踪远程 Git,则无需勾选“跟踪”复选框。


    希望对您有所帮助。

    Source

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 2011-02-24
      • 2019-09-09
      • 1970-01-01
      • 2012-08-10
      • 2011-04-26
      • 1970-01-01
      • 2015-08-18
      相关资源
      最近更新 更多