git branch --track vs -u 区别
git branch --track vs -u difference
我有一个本地分支,我想 link 到远程分支。因此,当我执行 git pull
时,它将自动使用 linked 远程分支
我尝试使用 git branch --track origin/branchname
但它做了一件奇怪的事情并创建了一个名称为 origin/branchname 的标签
git pull
仍然没有自动 select linked 分支
另一方面,git branch -u origin/branchname
确实有效并且 git pull
autoselect 的正确分支
--track
和 -u
有什么区别?
git branch
命令做了(无论如何在我看来)太多不同的事情。
特别是,您可以要求它创建一个分支——一个新的分支名称,即;请参阅 What exactly do we mean by "branch"?— 包含该新名称的各种设置。
您也可以要求它修改 一个现有的 分支,这正是您想要做的。 -u
或 --set-upstream-to
选项执行此操作。
--track
选项用于创建新分支:
I tried to use git branch --track origin/branchname
but it did a weird thing and created kind of a tag with name origin/branchname
更具体地说,它创建了一个名为 origin/branchname
的 local 分支。通常任何时候你看到 origin/foo
、origin/master
、origin/whatever
,这些都是 remote-tracking branches(参见链接的问题)。使用这样的名称创建 local 分支只会使事情变得混乱。 (Git 不会有任何问题,它只会让人类感到困惑。:-) )
我有一个本地分支,我想 link 到远程分支。因此,当我执行 git pull
时,它将自动使用 linked 远程分支
我尝试使用 git branch --track origin/branchname
但它做了一件奇怪的事情并创建了一个名称为 origin/branchname 的标签
git pull
仍然没有自动 select linked 分支
另一方面,git branch -u origin/branchname
确实有效并且 git pull
autoselect 的正确分支
--track
和 -u
有什么区别?
git branch
命令做了(无论如何在我看来)太多不同的事情。
特别是,您可以要求它创建一个分支——一个新的分支名称,即;请参阅 What exactly do we mean by "branch"?— 包含该新名称的各种设置。
您也可以要求它修改 一个现有的 分支,这正是您想要做的。 -u
或 --set-upstream-to
选项执行此操作。
--track
选项用于创建新分支:
I tried to use
git branch --track origin/branchname
but it did a weird thing and created kind of a tag with nameorigin/branchname
更具体地说,它创建了一个名为 origin/branchname
的 local 分支。通常任何时候你看到 origin/foo
、origin/master
、origin/whatever
,这些都是 remote-tracking branches(参见链接的问题)。使用这样的名称创建 local 分支只会使事情变得混乱。 (Git 不会有任何问题,它只会让人类感到困惑。:-) )