远程存储库包含各种分支,如origin/davis_branch:
$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/master
如何将daves_branch获取到本地存储库,以便它跟踪origin/davis_branch?
我尝试了:
$ git fetch origin discover
$ git checkout discover
远程存储库包含各种分支,如origin/davis_branch:
$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/master
如何将daves_branch获取到本地存储库,以便它跟踪origin/davis_branch?
我尝试了:
$ git fetch origin discover
$ git checkout discover
当前回答
使用此简单命令:
git checkout -b 'your_branch' origin/'remote branch'
其他回答
要获取远程上存在的分支,最简单的方法是:
git fetch origin branchName
git checkout branchName
您可以通过以下方式查看它是否已存在于远程:
git branch -r
这会将远程分支提取到本地,并自动跟踪远程分支。
Use:
git checkout -b serverfix origin/serverfix
这是一个非常常见的操作,Git提供了--track速记:
git checkout --track origin/serverfix
事实上,这是如此普遍,甚至有一条捷径。如果您尝试签出的分支名称(a)不存在,并且(b)仅与一个远程服务器上的名称完全匹配,Git将为您创建一个跟踪分支:
git checkout serverfix
要使用与远程分支不同的名称设置本地分支,可以轻松地使用具有不同本地分支名称的第一个版本:
git checkout -b sf origin/serverfix
现在,您的本地分支sf将自动从origin/serverfix中提取。
来源:Pro Git,第二版,由Scott Chacon和Ben Straub撰写(为便于阅读而删减)
如果您正在尝试“签出”一个新的远程分支(仅存在于远程,而不存在于本地),以下是您需要的:
git fetch origin
git checkout --track origin/<remote_branch_name>
这假设您要从原点提取。如果没有,请用远程名称替换源。
使用此简单命令:
git checkout -b 'your_branch' origin/'remote branch'
在我看来,这一行命令是获取和签出本地不存在的远程分支的最简单方法:git获取和git签出remote_branch