假设,只想获取 unit 这个目录下的所有文件:
mkdir myrepo
cd myrepo
git init
git remote add -f origin https://github.com/twbs/bootstrap //这一步会报错, fatal: remote origin already exists
git config core.sparseCheckout true
echo "twbs/bootstrap/tree/master/js/tests/*" >> .git/info/sparse-checkout
git pull origin master
1
GreatMartial 2016-07-08 13:52:12 +08:00 via Android
不懂,帮顶
|
2
xiaowangge OP 只获取一个文件的话,可以用
git clone -n git://github.com/twbs/bootstrap.git --depth 1 cd bootstrap git checkout HEAD README.md 问题是,想获取某个指定目录下的所有文件,暂时没找到好的解决办法。 |
3
SpicyCat 2016-07-08 14:22:21 +08:00
报错的那一步,你把 remote 的名字换下呗,不用 origin, 起个别的名字
|
4
robinlovemaggie 2016-07-08 14:48:42 +08:00
@xiaowangge 亲啊,这个是老话题了,答案只有一个: git 不允许。可以看看 stackoverflow 上的解释 http://stackoverflow.com/questions/7106012/download-a-single-folder-or-directory-from-a-github-repo
这个估计是 git 和 subversion 的最大区别了。 |
5
xiaowangge OP @robinlovemaggie git 1.7 version 之后, sparse checkout 此技术可以的,只是我没有执行成功==
http://stackoverflow.com/questions/600079/is-there-any-way-to-clone-a-git-repositorys-sub-directory-only/13738951 |
6
robinlovemaggie 2016-07-10 13:01:59 +08:00 1
@xiaowangge 哈哈,研究了一下 ,确实可以,我的步骤是;
1. git init bootstrap && cd bootstrap 2. git config core.sparsecheckout true 3. echo '/js/tests/*' >> .git/info/sparse-checkout 4. git remote add origin [email protected]:twbs/bootstrap.git 5. git pull origin master 感觉这个功能是为了死磕 svn 吧? |