![](/img/trans.png)
[英]How to switch (or checkout) to a existing remote branch in Git without facing detached HEAD
[英]Fetching and checkout a remote branch without detached head
我通过git fetch origin name-of-branch:refs/remotes/name-of-branch
获取远程分支git fetch origin name-of-branch:refs/remotes/name-of-branch
。
我使用git checkout name-of-branch
我处于一个独立的头状态。 我现在可以通过使用git checkout -b some-branch-name
来到一个命名分支。 有没有办法在一个命令中将远程分支签出到命名分支(甚至同名)?
如果我使用git checkout -b name-of-remote-branch
(即使用相同的名称),然后签出另一个分支,然后检查该分支再次git checkout name-of-remote-branch
,我得到
warning: refname 'name-of-remote-branch' is ambiguous.
但是,如果我首先使用git pull
然后使用checkout,则不会发生这种情况:
Branch name-of-pulled-branch set up to track remote branch name-of-pulled-branch from origin
我假设关于获取分支的很多麻烦都与它没有设置为跟踪远程分支这一事实有关。 为什么这样,有没有办法检查取出的分支,并设置跟踪远程分支,就像我使用git pull
?
你要:
git fetch origin name-of-branch:refs/remotes/name-of-branch
git checkout -b some-branch-name name-of-remote-branch --track
这将设置跟踪,以便git pull / push将Just Work。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.