Git克隆将远程分支克隆到本地。
是否有任何方法可以在不切换远程存储库上的分支的情况下自行克隆特定分支?
Git克隆将远程分支克隆到本地。
是否有任何方法可以在不切换远程存储库上的分支的情况下自行克隆特定分支?
当前回答
使用该名称在本地系统上创建分支。例如,假设您要获取名为branch-05142011的分支
git branch branch-05142011 origin/branch-05142011
它会给你一个信息:
$ git checkout --track origin/branch-05142011
Branch branch-05142011 set up to track remote branch refs/remotes/origin/branch-05142011.
Switched to a new branch "branch-05142011"
现在,只需如下所示签出分支,就可以获得代码
git checkout branch-05142011
其他回答
Use:
git checkout -b <branch-name> <origin/branch_name>
例如,在我的案例中:
git branch -a
* master
origin/HEAD
origin/enum-account-number
origin/master
origin/rel_table_play
origin/sugarfield_customer_number_show_c
因此,要基于我的枚举帐号分支创建一个新分支,我需要:
git checkout -b enum-account-number origin/enum-account-number
点击Return后,会发生以下情况:
Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number"
这里有一个非常简单的方法:)
克隆存储库
git clone <repository_url>
列出所有分支
git branch -a
签出所需的分支
git checkout <name_of_branch>
使用该名称在本地系统上创建分支。例如,假设您要获取名为branch-05142011的分支
git branch branch-05142011 origin/branch-05142011
它会给你一个信息:
$ git checkout --track origin/branch-05142011
Branch branch-05142011 set up to track remote branch refs/remotes/origin/branch-05142011.
Switched to a new branch "branch-05142011"
现在,只需如下所示签出分支,就可以获得代码
git checkout branch-05142011
要克隆分支而不获取其他分支,请执行以下操作:
mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
git clone -b <branch> <remote_repo>
例子:
git clone -b my-branch git@github.com:user/myproject.git
在Git1.7.10及更高版本中,添加--singlebranch以防止获取所有分支。例如,使用OpenCV 2.4分支:
git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git