远程存储库包含各种分支,如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 fetch--all&git checkout<分支名称>
其他回答
检查.git/config文件,特别是该远程设备的fetch跟踪。
[remote "randomRemote"]
url = git@github.com:someUser/someRepo.git
fetch = +refs/heads/*:refs/remotes/randomRemote/*
如果头/*指向randomRemote/*,当您运行gitfetchrandomRemote时,它将获取所有分支。
然后你就可以结账了。
否则
您需要使用此命令将远程分支添加到跟踪中。运行此命令后,请检查.git/config。你会明白的。git remote set branches--add randomRemote randomBranch运行git fetch randomRemote。这将获取远程分支。现在您可以运行git checkout randomBranch。
我键入了
git checkout <branch_name>
并且得到
Branch <branch_name> set up to track remote branch <branch_name> from origin.
Switched to a new branch '<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分支-远程分支,跟踪分支
[快速回答]
有很多选择,我最喜欢的是:
-备选方案1:
git fetch --all
git checkout YourBranch
使用此替代方法时,请使用远程存在但不在本地的分支。
-备选方案2:
git checkout -b 'YourBranch' origin/'YourRemote'
也许,这是最简单的方法。
步骤如下:;
gitfetchorigin或gitfetch-all,这将把所有远程分支提取到本地,然后这是您可以使用的第二个选项。git checkout--跟踪原点/<要切换的The_remote_branch>
然后处理这个分支,您可以通过键入
git branch
它显示您当前所在的分支。