有时候,只想从版本库中clone出一个单独的分支来(比如,网站发布的代码),其他相关分支并不需要检出。
这时直接使用 git clone出整个版本库就显得不合适了。搜索了一下,发现这个需求很多,在stackoverflow上有几个相关答案:
这个问题里,回答中最认可的是这个:
git clone <url> --branch <branch> --single-branch [<folder>]
但这个回答和我的实际情况稍有不同,我的代码之前是用svn管理的,在服务器上已经使用svn方法发布了,使用这个命令就提示错误了:
git clone -b qinghaihu --single-branch .
因为当前目录上已经有对应文件了,若是发布到一个新目录下则没有这个问题。
从另一个问题中找到了答案:
即:
cd $BRANCH git init git remote add -t $BRANCH -f origin $REMOTE_REPO git checkout -f $BRANCH
注意最后一个checkout命令加了一个-f参数,这样就可以强制覆盖已有文件。
发表回复