美文网首页Android好文收录开源工具技巧Android开发经验谈
如何在github上下载单个文件夹?用git就可以呀

如何在github上下载单个文件夹?用git就可以呀

作者: 月下溪明 | 来源:发表于2017-11-10 10:52 被阅读201次

在查看源码的过程中,相信很多人都像我一样,遇到某个公司或个人的repository是几个项目的集合整理,而我只要其中某个项目文件夹。那不依赖其他软件,怎么通过git去下载呢???

重点来了
下面直接给个例子,然后再解释说明。相信读者会更容易理解和操作。

阿里热修复sophix demo

上图画红色圈圈的是阿里最新推出的热修复框架sophix的demo,也就是我想下载的文件夹 hotfix_android_demo

我们一步一步操作先,最后会给出在GitBash上完整操作的截图。

  • 先进入到你要存放的路径

    $ cd <路径>

    我的操作 : $ cd D:/android/demo/SophixDemo

    我的SophixDemo文件夹是刚刚创建的空文件夹。想在命令行里创建文件夹的话,那就$ mkdir 文件夹名称

  • 创建一个空的本地仓库

    $ git init

  • 连接远程仓库GitHub

    $ git remote add -f origin <url>

    我的操作:$ git remote add -f origin https://github.com/aliyun/alicloud-android-demo.git

    然后控制台会显示一些updating...信息。注意,这里的url必须是.git结尾的。

  • 开启sparse checkout 模式

    $ git config core.sparsecheckout true

简单解释一下:

Git1.7.0以后加入了Sparse Checkout模式,这使得Check Out指定文件或者文件夹成为可能。

  • 告诉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

    我的操作:$ echo hotfix_android_demo >> .git/info/sparse-checkout
    还记得我开头说要下载阿里sophix的demo吗

  • 最后一步,拉取想要的分支

    $ git pull origin master

齐活!

以下在GitBash上完整的操作。方便对照

GitBash

你的本地路径下,可以看到,只有你想要的文件夹,其他乱七八糟的都没有

具体可参考Git的Sparse checkout文档: http://schacon.github.io/git/git-read-tree.html#_sparse_checkout

相关文章

网友评论

    本文标题:如何在github上下载单个文件夹?用git就可以呀

    本文链接:https://www.haomeiwen.com/subject/vcgvmxtx.html