【发布时间】:2013-02-03 19:48:02
【问题描述】:
我正在使用 Aptana 和 Git。当我去创建一个新分支时,会出现以下对话框。
我想知道那个“跟踪”复选框有什么作用,什么时候最适合检查它。
我理解 git 中跟踪的概念,但主要是文件。我似乎不明白它如何应用于正在创建的新分支?
【问题讨论】:
我正在使用 Aptana 和 Git。当我去创建一个新分支时,会出现以下对话框。
我想知道那个“跟踪”复选框有什么作用,什么时候最适合检查它。
我理解 git 中跟踪的概念,但主要是文件。我似乎不明白它如何应用于正在创建的新分支?
【问题讨论】:
在这种情况下,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.
【讨论】:
git pull 进行,即使跟踪的分支是本地的。
git-branch 手册页。不应该这样表述:“当本地分支作为远程跟踪分支启动时”?
我仍然不明白 Marco 提供的答案,即使在阅读了 cmets 之后。所以我决定自己进一步研究一下,用外行的话提供一个答案......
本地分支:是从 Git 的主分支分支的路径。 master 分支是最终提交更改的主要路径。分支是本地的,没有链接到远程分支。
远程分支: 与“本地分支”相同,但位于远程 Git 上。分支是远程的,没有链接到本地分支。
远程跟踪分支:
git pull 或git fetch 时,他们知道从哪个远程分支获取更改。输入 git status 将说明您在远程分支之前有多少次提交。妙语……
使用--track 将创建分支,然后自动从所选分支中“拉取”。所以在这种情况下(参考问题中的图片),将创建一个名为“feat/password-confirmation”的新分支本地,并将与名为“master”的远程分支进行比较(遥控器上的主路径)
我以为你说 master 分支是本地的?本地和远程的主路径都称为'master',但只与git push或git pull交互。
如果您不需要跟踪远程 Git,则无需勾选“跟踪”复选框。
希望对您有所帮助。
【讨论】: