我需要从Bitbucket Git存储库中检出标签的单个文件夹。我已通过以下步骤从Bitbucket中检出了分支的单个文件夹:
mkdir <repo>
cd <repo>
git init
git remote add -f origin <url>
git config core.sparseCheckout true
echo "some/dir/" >> .git/info/sparse-checkout
echo "another/sub/tree" >> .git/info/sparse-checkout
git pull origin master
像这样我们可以签出标签的单个文件夹吗?
答案 0 :(得分:4)
首先, shallow 克隆存储库,在标记处分离HEAD,但不检查任何内容:
git clone --depth 1 --branch <tag> --no-checkout <url/repo.git>
cd repo
接下来,检出文件夹:
git checkout HEAD -- <path>
这里的选项--branch
可能会引起误解,但它也适用于标签。从git-clone(1)手册页:
--branch
也可以在生成的存储库中的提交中获取标签并分离HEAD。