github clone**的速度,依賴於**庫的大小以及clone速度,基本是幾十kb到200kb之間。要是能達到400kb,恭喜你;要是只有十幾kb,emmmm, 還是先去吃飯吧。
這裡以mooc 為例說明 在clone某個git倉庫時候需要注意的幾個問題。
全轉殖單一轉殖
深度轉殖
很好理解,git clone git_倉庫_url
。存在乙個問題,當clone的倉庫很大的時候,而github又是比較慢的clone速度,導致等待的時間較長。接下來以 mooc 為例說明git clone
全轉殖
執行git clone [email protected]:tancolo/mooc.git
或者
git clone
後 git bash 結果如下:
注意其中的 1428 數字,說明git clone
的objects總數是1428。 再看下branch
有什麼結果呢?
說明git clone
最後的結果是切換的當前 master分支,同時也獲得了 remote的所有分支記錄資訊。 如果你想切換其他分支 直接使用如下方式:
git checkout -b mvp-dev-more remotes/origin/mvp-dev-more
其中mvp-dev-more是本地倉庫名字。
所以 全轉殖 好處是全部分支都一次性在本地,要切換非常方便。壞處是消耗時間長,而且占用很大的磁碟空間。以mooc為例,在git bash中執行du -lh
有34m空間, 這裡看著是很小,工程一旦很多,就是你磁碟空間殺手!
git clone -b mvp-dev-more
執行如下cmd
git clone
後面可以攜帶這個引數--single-branch
從上可以看到 clone過程中 object數量只有 1269, 之前的數量是1428, 所占用磁碟空間只有 8m, 之前是34m。但是 branch分支只有mvp-dev-more
。
所以,github工程檔案很大情況,推薦使用git clone -b git_倉庫_分支 --single-branch git_倉庫_url
。 缺點是看不到其他分支。
深度轉殖是我自己取的名字,使用場景是,我只想clone 某個git倉庫最近xx次提交的**。
要完成這樣的目的,需要使用--depth=commit_num
或者--depth commit_num
, 具體如何使用,參考如下。
以此類推,還可以這麼操作:
git clone -b mvp-dev-more --single-branch --depth 3
$ git clone -b mvp-dev-more --single-branch --depth 3
cloning into 'mooc'...
remote: counting objects: 440, done.
remote: compressing objects: 100% (320/320), done.
remote: total 440 (delta 88), reused 364 (delta 64), pack-reused 0
receiving objects: 100% (440/440), 1.64 mib | 16.00 kib/s, done.
resolving deltas: 100% (88/88), done.
好了,本文可以總結為,如何正確的使用git clone
git clone -b git_分支名稱 git_倉庫_url
根上述 1. 結果一致
git clone -b git_分支名稱 --single--branch git_倉庫_url
獲取指定分支的**
git clone --depth 10 git_倉庫_url
只會獲取最近 xx(10條提交記錄的)**,預設是master分支, 如果想要指定分支,可以結合-b --single--branch
使用!
git clone 命令引數
git clone 命令引數 usage git clone options v,verbose be more verbose q,quiet be more quiet progress force progress reporting n,no checkout don t create a ...
git clone引數解析
git官網 概要git clone template l s no hardlinks q n bare mirror o b u reference dissociate separate git dir depth no single branch no tags rerserse submod...
學習 git clone 幾種不同的協議
當我們去github上轉殖 倉庫的時候,一般有兩種選擇,一種是https協議,一種是ssh協議。這也是最常用的兩種協議了。對新手友好,使用簡單,clone的時候只需要複製https的位址使用git clone即可 通常不會被 或者企業防火牆阻攔。效率高,傳輸快。傳輸之前會盡可能壓縮資料。當你在倉庫中...