这克隆了名为goober的分支或标签。
% git clone --branch goober <repo> <directory>
如果同时存在具有该名称的分支和标签,它会通过克隆分支来处理歧义。 这与 gitrevisions 开头附近列出的啄食顺序不一致,后者优先考虑标签而不是分支,而且似乎没有办法克隆标签。 克隆 refs/tags/goober 或 tags/goober 也不起作用:“在上游源中找不到远程分支标签/goober”。
即使面对这种歧义,我如何才能可靠地克隆标签?
通常,这不会成为问题,但我想要一个最小的克隆,最好是无斑点的。 我知道我可以通过多种方式克隆并切换到标签。
带有双关分支和标记的存储库的一小部分的最小内容克隆,您想要标记而不是分支,这不是方便的语法,您可以自己做克隆命令的用途如果他们预料到了这一点的话。自己做并不难:
git init reponame; cd reponame
git remote add origin u://r/l
git fetch --depth=1 --filter=tree:0 origin refs/tags/yourtag:refs/tags/yourtag
现在您可以在使用包含单个内容自由提交的存储库后执行任何操作。