
假设,只想获取 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 年 7 月 8 日 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 年 7 月 8 日 报错的那一步,你把 remote 的名字换下呗,不用 origin, 起个别的名字 |
4 robinlovemaggie 2016 年 7 月 8 日 @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 年 7 月 10 日 @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 吧? |