如何克隆特定的Git分支?
Git克隆将行为复制远程当前工作分支到本地。
有没有办法克隆一个特定的分支我自己没有切换远程存储库上的分支机构?
git init git remote add -t refspec remotename host:/dir.git git fetch
但是,如果我记得正确,默认情况下,克隆从远程,而不是当前工作分支获取所有分支。
git clone -b <branch> <remote_repo>
例:
git clone -b my-branch git@github.com:user/myproject.git
替代scheme(不需要公钥设置):
git clone -b my-branch https://git@github.com/username/myproject.git
使用Git 1.7.10和更高版本,添加--single-branch
来防止获取所有分支。 例如,用OpenCV 2.4分支:
git clone -b 2.4 --single-branch https://github.com/Itseez/opencv.git opencv-2.4
要克隆一个分支而不需要获取其他分支:
mkdir $BRANCH cd $BRANCH git init git remote add -t $BRANCH -f origin $REMOTE_REPO git checkout $BRANCH
这是一个非常简单的方法来做到这一点:)
克隆存储库
git clone <repository_url>
列出所有分支
git branch -a
检出你想要的分支
git checkout <name_of_branch>
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
所以要创build一个基于我的enum-account-number分支的新分支,我需要:
git checkout -b enum-account-number origin/enum-account-number
在您返回之后,会发生以下情况:
Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number. Switched to a new branch "enum-account-number
“
使用该名称在本地系统上创build一个分支。 例如说你想得到名为“branch-05142011”的分支
git branch branch-05142011 origin/branch-05142011
它会给你一个信息,如“分行-05142011设置远程分行-05142011从原点追踪”。
现在只需检查下面的分支,你就有了代码 –
git checkout branch-05142011
git --branch <branchname> <url>
但是bash的完成没有得到这个关键:– --branch
请享用。