git clone 幾種可選引數的使用與區別

2021-10-01 17:23:07 字數 3133 閱讀 1006

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 clonegit 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即可 通常不會被 或者企業防火牆阻攔。效率高,傳輸快。傳輸之前會盡可能壓縮資料。當你在倉庫中...