我想知道如何克隆Git仓库中的单个分支,而不是整个仓库。
从这篇公告中Git 1.7.10(2012年4月):
git clone
学会了--single-branch
选项,可以将克隆限制为单个分支(惊喜!)。不指向分支历史的标签不会被获取。
实际上,Git允许您只克隆一个分支,例如:
git clone -b mybranch --single-branch git://sub.domain.com/repo.git
注意:同时,您还可以添加另一个单独的分支或“撤消”此操作。
--depth=1
有帮助吗?我希望它有帮助,因为我只想获取一个提交和没有额外的文件。 - user11810894你可以使用以下方式创建一个新的仓库:
git init
然后使用
git fetch url-to-repo branchname:refs/remotes/origin/branchname
获取特定分支到本地远程跟踪分支。
git remote add origin <url>
命令,这样您就会得到一个远程库,就像您克隆一样。(然后您可以编辑 .git/config 中的 refspec 来避免全部获取。) - Cascabelgit pull
,但问题是如何克隆一个分支。git pull
也会将该分支合并到您的本地分支中,这可能是需要的,也可能不是。如果git remote -v
没有输出,那么我猜你没有远程仓库。 - Lily Ballard“--single-branch”开关就是你的答案,但它只在你使用git版本1.8.X及以上时才有效,请先检查。
"#git --version
如果您已经安装了 Git 1.8.X 版本,则可以使用 "-b branch" 和 "--single branch" 来克隆单个分支。
#git clone -b branch --single-branch git://github/repository.git
在Ubuntu 12.04/12.10/13.10和Debian 7中,默认的git安装只支持1.7.x版本,其中--single-branch是一个未知的选项。在这种情况下,您需要从非默认ppa中首先安装更新的git。
sudo add-apt-repository ppa:pdoes/ppa
sudo apt-get update
sudo apt-get install git
git --version
一旦安装了1.8.X,现在只需执行以下操作:
git clone -b branch --single-branch git://github/repository.git
现在Git只会从服务器下载单个分支。
我用下面的一条Git命令完成了如下操作:
git clone [url] -b [branch-name] --single-branch