git加速和只下載部分目錄

淺複製

工做要用到的.git有1.8G太大了。下載過程要好幾個小時,太慢了。能夠這樣操做android

git clone 默認會下載項目的完整歷史版本,若是你只關心最新版的代碼,而不關心以前的歷史信息,可使用 git 的淺複製功能:git

$ git clone --depth=1 https://github.com/bcit-ci/CodeIgniter.git
--depth=1 表示只下載最近一次的版本,使用淺複製能夠大大減小下載的數據量,例如,CodeIgniter 項目完整下載有近 100MiB ,而使用淺複製只有 5MiB 多,這樣即便在惡劣的網絡環境下,也能夠快速的得到代碼。若是以後又想獲取完整歷史信息,可使用下面的命令:github

$ git fetch --unshallow網絡

對zadas我實際用的命令是:git clone --depth=1 http://shagit01.cn.zmt.local/ST/zadas.gitfetch

用該命令仍是無法獲得分支 fusion_dev下的代碼。url

斷點續傳的方法

mkdir zadasspa

cd zadasci

git fetch http://shagit01.cn.zmt.local/ST/zadasrem

中間若是斷了,就再執行一下 git clone ...it

直到fetch完畢後,出現如下字樣

 From  http://shagit01.cn.zmt.local/ST/zadas.git

 *branch           HEAD                -> FETCH_HEAD

而後用git checkout FETCH_HEAD

或者也等同於git fetch  http://shagit01.cn.zmt.local/ST/zadas.git HEAD

對這個方法須要持謹慎態度,由於我 git branch -r 顯示遠程分支,結果爲空,實際是不對的。

下載個別目錄

$ 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

告訴Git哪些文件或者文件夾是你真正想Check Out的
(你能夠將它們做爲一個列表保存在 .git/info/sparse-checkout 文件中。)

例如:
$ echo libs >> .git/info/sparse-checkout

最後一步,拉取想要的分支

$ git pull origin master

相關文章
相關標籤/搜索