我想用 GIT 从 GITHUB 上下载单个目录,在网上看到如下的描述。
Git1.7.0 以后加入了 Sparse Checkout 模式,这使得 Check Out 指定文件或者文件夹成为可能。
具体实现如下:
$mkdir project_folder
$cd project_folder
$git init
$git remote add -f origin <url>
上面的代码会帮助你创建一个空的本地仓库,同时将远程 Git Server URL 加入到 Git Config 文件中。
接下来,我们在 Config 中允许使用 Sparse Checkout 模式:
$git config core.sparsecheckout true
接下来你需要告诉 Git 哪些文件或者文件夹是你真正想 Check Out 的,你可以将它们作为一个列表保存在 .git/info/sparse-checkout 文件中。
例如:
$echo “ libs ” >> .git/info/sparse-checkout
$echo “ apps/register.go ” >> .git/info/sparse-checkout
$echo “ resource/css ” >> .git/info/sparse-checkout
最后,你只要以正常方式从你想要的分支中将你的项目拉下来就可以了:
$git pull origin master
我想下载的目录如下: https://github.com/geekan/scrapy-examples/tree/master/qqnews
在按照上面的描述执行时,对于这个操作,请问<url>应该输入什么呢? "git remote add -f origin <url>"
另外,执行后面 echo 开头的命令时,我实际应该执行的是否是 $echo “ scrapy-examples/qqnew ” >> .git/info/sparse-checkout
恳请指点,感谢!
1
codeyung 2017-09-20 23:45:04 +08:00
git init www.a.com
cd www.a.com git remote add origin [email protected]:test/a.git git config core.sparsecheckout true echo 'projectName/target/?path/?path/' >> .git/info/sparse-checkout git pull origin master 大概就是这个意思的 |
2
codeyung 2017-09-20 23:45:42 +08:00
我都是这样用~ 比较方便
|
3
KeepPro 2017-09-20 23:49:24 +08:00 via Android
url 正常填,然后在那个配置文件里写上你的这个 qqnews 路径即可。然后正常拉去整个库。
|
4
saximi OP @KeepPro url 正常填是怎么填?以我的例子而言,是否就是填 https://github.com/geekan
|
5
saximi OP @KeepPro 实际上,我这么运行会报错。
``` $ git remote add -f origin https : //github.com/geekan fatal: remote origin already exists. ``` |
6
saximi OP @codeyung git remote add origin [email protected]:test/a.git 对于这个写法不是很明白,有具体的例子么?
|
7
ETiV 2017-09-21 02:12:39 +08:00 via iPhone 1
骗子 我还以为能只拉指定目录,结果还是都拉回来的 😂
|
8
q8515620 2017-09-21 02:53:23 +08:00 via Android
是第一次用 git 吗? GitHub 项目里有个 clone 按钮,复制里面的 URL 即可
|
9
oglop 2017-09-21 04:00:18 +08:00 via Android
如果 repo 很大 即使使用了--depth 1 还是会很慢,因为 github 不让用 git archive, 所以你可以借助
svn export https://github.com/geekan/scrapy-examples/tree/master/qqnews |
10
lovestudykid 2017-09-21 04:25:03 +08:00
svn 可以做到,github 本来也支持 svn,具体可以搜一下怎么做。
|
12
StephenChow 2017-09-21 08:58:35 +08:00
@ETiV 果然是,objects 下确实会有全部内容,工作目录下倒是只有指定目录
|
14
iahu 2017-09-22 17:51:33 +08:00
|
15
saximi OP @iahu 我的是 WINDOWS7+PYTHON3 的环境,为了用 GIT,我装了 Git Bash 这个工具,但是在命令窗口中输入 svn 时提示 bash svn: command not found。 是不是我的 GIT 工具装得不对?还是我要专门安装 SVN ?
|
16
saximi OP @oglop 我在 WINDOWS 上装了 TortoiseSVN,但是在 Git bash 中执行 svn export 命令还是提示 bash svn:command not found,是不是要先做什么设置?
|