我有一個包含我通過git clone
無法添加包含git克隆子目錄的目錄?
創建子目錄一個directoryA
我想創建爲directoryA
一個Git倉庫。
但是當我做git add -A && git commit -m "w"
什麼都不承諾。
我是否需要特別小心處理git-cloned subdirectories
?
directoryA
是我用於我的項目的圖書館集合的特殊目錄。
我有一個包含我通過git clone
無法添加包含git克隆子目錄的目錄?
創建子目錄一個directoryA
我想創建爲directoryA
一個Git倉庫。
但是當我做git add -A && git commit -m "w"
什麼都不承諾。
我是否需要特別小心處理git-cloned subdirectories
?
directoryA
是我用於我的項目的圖書館集合的特殊目錄。
您正在創建的是未初始化的子模塊,並且是的子模塊需要一些特殊處理纔能有效使用它們。
一旦子模塊被初始化,您將能夠從父項目中提交它所在的子目錄。
子模塊超越了基本的git,有一點學習曲線,但一旦理解,就可以很好地服務它們的目的,並很好地與git的其餘部分進行合併。
是什麼讓子模塊特殊的處理可以在幾個關鍵的概念來概括:父庫知道他們之前
這裏有幾個鏈接對我來說非常有幫助,當我需要深入探討子模塊時,這些鏈接對於跟蹤我的各個項目非常有幫助。
通常,git
不允許將一個git存儲庫放在另一個git存儲庫的子目錄中。
此規則的唯一例外是使用git submodules。但是,這有很多你可能不喜歡的其他含義。例如,父git存儲庫必須跟蹤必須檢出哪個特定的提交ID子模塊。如果您將新內容提交到子模塊中 - 在本地或從外部提取,則還必須更改父回購狀態並創建一個更多的提交以反映子模塊狀態。
爲了解決這些問題,Android項目創建了另一種處理這些問題的方法,即他們創建了repo
。雖然repo
主要被Android項目使用,但它是非常通用的機制,可用於任何其他目的。
repo
依賴於XML文件調用清單(它住在它自己的小Git倉庫中)。清單定義了定義整個項目的所有git存儲庫在哪裏被檢出,以及在哪些版本和分支上。這是非常強大的機制。回購的唯一限制是它不支持Windows,因爲它需要使用符號鏈接(但支持非常好的Linux和Mac)。
我想你想看看git的子模塊。 – Thilo