假设新分支NEW
刚出现在远程仓库中。是否有git
命令为NEW
创建跟踪分支,同时从远程仓库中提取它(具体)? (通过“特定”位我的意思是只拉分支NEW
。)
FWIW:我使用的是1.7.6版本。
编辑:期望的场景
(前)
% git branch -a
bar
baz
foo
* master
remotes/somerepo/bar
remotes/somerepo/baz
remotes/somerepo/foo
remotes/somerepo/master
(后)
% git branch -a
bar
baz
foo
* master
NEW
remotes/somerepo/bar
remotes/somerepo/baz
remotes/somerepo/foo
remotes/somerepo/master
remotes/somerepo/NEW
答案 0 :(得分:1)
修改强>
这可能是你想要的:
git checkout -tb NEW somerepo/NEW
答案 1 :(得分:1)
你可以这样做:
git branch NEW somerepo/NEW
这将创建本地分支NEW
,设置为从NEW
跟踪远程分支somerepo
。
关于git pull
的问题是,它是git fetch
和get merge
的组合。由于git merge
只能在当前分支上运行,因此您无法将git pull
用于此目的。如果要获取特定分支并创建本地分支以进行跟踪,则必须使用以下命令:
git fetch remote branchname
git branch branchname remote/branchname
在旧版本的Git中,git fetch remote branch
可能无法正确创建.git/refs/remotes/remote/branchname
。我测试了这个版本的1.8.4版,但它从版本1.7.10.4开始不起作用。如果它不适用于您的版本,则必须使用这种更详细的语法:
git fetch remote branchname:remotes/remote/branchname
或者如果你不介意取出所有分支,你可以只做git fetch remote
。