远程存储库包含各种分支,如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
当前回答
帮助我的是
1) 查看所有可用的远程分支(例如“远程分支名称”)
git branch -r
2) 使用远程分支名称创建本地分支
git fetch && git checkout 'remote-branch-name'
其他回答
更新:使用Git Switch
下面写的所有信息都是准确的,但添加了一个新命令gitswitch,简化了工作。
如果daves_branch存在于远程存储库中,但不存在于本地分支中,则只需键入:
git switch daves_branch
由于您在本地没有分支,这将自动使交换机在远程回购上运行。然后,它还将自动设置远程分支跟踪。
请注意,如果daves_branch在本地不存在,则在使用开关之前需要先获取git。
原始帖子
您需要创建跟踪远程分支的本地分支。以下命令将创建一个名为daves_branch的本地分支,跟踪远程分支origin/davis_branch。当您推送更改时,远程分支将被更新。
对于最新版本的Git:
git checkout --track origin/daves_branch
--track是git checkout的简写-b[branch][remotename]/[branch],在本例中[remotename]是原点,[branch是两倍,在本示例中是davesbranch。
对于Git 1.5.6.5,您需要:
git checkout --track -b daves_branch origin/daves_branch
对于Git 1.7.2.3及更高版本,这已经足够了(它可能更早开始,但这是我可以很快找到的最早确认):
git checkout daves_branch
注意,对于最新的Git版本,此命令不会创建本地分支,并将使您处于“分离HEAD”状态。如果需要本地分支,请使用--track选项。
详细信息如下:3.5 Git分支-远程分支,跟踪分支
只需尝试:
git pull origin your_branch_name
本地获取分支:
git fetch origin <branchName>
移动到该分支:
git checkout <branchName>
git fetch&&git checkout<你朋友的分行名>应该可以做到这一点
要签出远程而非本地存在的myBranch,这对我很有用:
git fetch --all
git checkout myBranch
我收到了这条消息:
Branch myBranch set up to track remote branch myBranch from origin
Switched to a new branch 'myBranch'