重點來了
下面直接給個例子,然后再解釋說明。相信讀者會更容易理解和操作。

上圖畫紅色圈圈的是阿里最新推出的熱修復框架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上完整的操作。方便對照

你的本地路徑下,可以看到,只有你想要的文件夾,其他亂七八糟的都沒有

具體可參考Git的Sparse checkout文檔: http://schacon.github.io/git/git-read-tree.html#_sparse_checkout
作者:月下溪明
鏈接:https://www.jianshu.com/p/74a0441ed9b7
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。