github倉庫里拉取單個文件


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

 
阿里熱修復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



作者:月下溪明
鏈接:https://www.jianshu.com/p/74a0441ed9b7
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM