前言
看一個學習視頻的時候,
提到了一個Git命令↓
git clone --recursive https://github.com/dotnet/extensions.git
對於使用小烏龜{TortoiseGit}選手來說,
這個命令還是值得學習下的.
學習視頻中提到一嘴這個命令的作用
把它依賴的一些項目同時下載下來.
但是只是這么聽說一下,
更加激起了想要了解這個{--recursive}這個是干嘛用的.
並且也想知道如果用{TortiseGit}執行命令{--recursive}應該勾選哪個選項呢.?
直接去搜索這個命令{--recursive}的作用
搜索出來的大多只有一句話解釋,
解釋是很簡單,但是不夠明了...
因為解釋語句中引用的一些對象{子項目}我都不知道是啥...
git clone --recursive https://github.com/onnx/onnx-tensorrt.git
git clone --recursive 用於循環克隆git子項目
其實從這個命令{--recursive}的解釋中也可以看的出來,
是為了解決如果Git倉庫中含有子項目,
將子項目一起克隆下來的.
看完上面我的那句解釋,
大家可能會覺得,這不是一句廢話嘛,表達的意思是一樣的嘛...
但是雖然是同一個意思,但是用自己話在概述一遍,
自己理解的就會稍微深一點.
下面就要大家去學習下{子項目/子模塊/submoudle}相關知識了.
我瞅了一眼,相關知識,將一些關鍵詞列一下吧.
某個工作中的項目需要包含並使用另一個項目(也許是第三方庫,或者你獨立開發的,用於多個父項目的庫)。
現在問題來了:你想要把它們當做兩個獨立的項目,同時又想在一個項目中使用另一個。
Git 通過子模塊來解決這個問題。
子模塊允許你將一個 Git 倉庫作為另一個 Git 倉庫的子目錄。
它能讓你將另一個倉庫克隆到自己的項目中,同時還保持提交的獨立。
通過在 git submodule add 命令后面加上想要跟蹤的項目的
相對或絕對 URL 來添加新的子模塊。
默認情況下,子模塊會將子項目放到一個與倉庫同名的目錄中.
如果你想要放到其他地方,那么可以在命令結尾添加一個不同的路徑。
....
雜談
學習知識有時候就像在讀代碼一樣,
你看到一個類.A,但是這個類中又有引用了類.B,
這個時候你如果對B一無所知.
坑定不利於你更好的理解這個類A.
學習知識A的時候,很多時候可以擴展一下知識B的寬度和深度...