我有一个 git repo,我只想下载某些子文件夹。我的配置如下所示:
#.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
sparsecheckout = true
[remote "dreamhost"]
url = <repo url>
fetch = +refs/heads/*:refs/remotes/dreamhost/*
[push]
default = tracking
在.git/info/sparse-checkout
我有这个:
themes/theme1
themes/theme8
这是themes
我想要获取的子文件夹中的文件夹。(我不需要其他很多)。
如果我做一个 git/pull 我可以看到 git 获取很多东西,包括themes
我不想要的子文件夹,这很好。我知道 sparse-checkout 仍然会拉下对象。
我现在想要一份themes/theme15
,进行一些更改。所以,我.git/info/sparse-checkout
这样编辑:
themes/theme1
themes/theme8
themes/theme15
然后做了一个git pull dreamhost master
,以为 git 会在下添加 theme15 文件夹themes
。但是,什么也没发生——它只是说
From <repo url>
* branch master -> FETCH_HEAD
Already up-to-date.
并且文件夹不存在。谁能告诉我我做错了什么?编辑后是否有额外的步骤.git/info/sparse-checkout
?
谢谢,马克斯
编辑:这是git version 2.8.1
顺便说一句