設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.42.1 → 2.47.0 無變更
-
2.42.0
08/21/23
- 2.32.1 → 2.41.2 無變更
-
2.32.0
06/06/21
- 2.30.2 → 2.31.8 無變更
-
2.30.1
02/08/21
- 2.28.1 → 2.30.0 無變更
-
2.28.0
07/27/20
- 2.25.1 → 2.27.1 無變更
-
2.25.0
01/13/20
- 2.24.2 → 2.24.4 無變更
-
2.24.1
12/06/19
-
2.24.0
11/04/19
- 2.23.2 → 2.23.4 無變更
-
2.23.1
12/06/19
-
2.23.0
08/16/19
- 2.22.3 → 2.22.5 無變更
-
2.22.2
12/06/19
- 2.22.1 無變更
-
2.22.0
06/07/19
- 2.21.2 → 2.21.4 無變更
-
2.21.1
12/06/19
-
2.21.0
02/24/19
- 2.20.3 → 2.20.5 無變更
-
2.20.2
12/06/19
- 2.20.1 無變更
-
2.20.0
12/09/18
- 2.19.4 → 2.19.6 無變更
-
2.19.3
12/06/19
-
2.19.2
11/21/18
- 2.19.1 無變更
-
2.19.0
09/10/18
- 2.18.3 → 2.18.5 無變更
-
2.18.2
12/06/19
- 2.18.1 無變更
-
2.18.0
06/21/18
- 2.17.4 → 2.17.6 無變更
-
2.17.3
12/06/19
- 2.17.1 → 2.17.2 無變更
-
2.17.0
04/02/18
- 2.16.6 無變更
-
2.15.4
12/06/19
- 2.14.6 無變更
-
2.13.7
05/22/18
- 2.11.4 → 2.12.5 無變更
-
2.10.5
09/22/17
-
2.9.5
07/30/17
- 2.4.12 → 2.8.6 無變更
-
2.3.10
09/28/15
- 2.1.4 → 2.2.3 無變更
-
2.0.5
12/17/14
描述
位於 Git 工作樹頂層目錄的 .gitmodules
檔案是一個文字檔案,其語法符合 git-config[1] 的要求。
該檔案包含每個子模組一個小節,小節的值是子模組的名稱。除非使用 git submodule add 的 --name
選項自訂,否則名稱會設定為子模組加入的路徑。每個子模組小節也包含以下必要的鍵
- submodule.<名稱>.path
-
定義相對於 Git 工作樹頂層目錄的路徑,子模組預期會被檢出到該路徑。路徑名稱不得以
/
結尾。所有子模組路徑在.gitmodules
檔案中必須是唯一的。 - submodule.<名稱>.url
-
定義一個 URL,子模組儲存庫可以從該 URL 複製。這可以是準備傳遞給 git-clone[1] 的絕對 URL,或者(如果它以
./
或../
開頭)相對於超專案原始儲存庫的位置。
此外,還有許多可選鍵
- submodule.<名稱>.update
-
定義指定子模組的預設更新程序,也就是超專案中
git submodule update
命令如何更新子模組。這僅由git submodule init
用於初始化同名的配置變數。此處允許的值為 checkout、rebase、merge 或 none,但不允許 !command(為了安全性)。請參閱 git-submodule[1] 中 update 命令的描述以了解更多詳細資訊。 - submodule.<名稱>.branch
-
用於追蹤上游子模組更新的遠端分支名稱。如果未指定此選項,則預設為遠端
HEAD
。特殊值.
用於表示子模組中的分支名稱應與目前儲存庫中的目前分支名稱相同。請參閱 git-submodule[1] 中--remote
文件的詳細資訊。 - submodule.<名稱>.fetchRecurseSubmodules
-
此選項可用於控制此子模組的遞迴提取。如果超專案的
.git/config
中子模組的條目中也存在此選項,則該處的設定將覆寫.gitmodules
中的設定。這兩個設定都可以在命令列中使用git fetch
和git pull
的--[no-]recurse-submodules
選項覆寫。 - submodule.<名稱>.ignore
-
定義在何種情況下,
git status
和 diff 系列會將子模組顯示為已修改。支援以下值如果超專案的
.git/config
中子模組的條目中也存在此選項,則該處的設定將覆寫.gitmodules
中的設定。這兩個設定都可以在命令列中使用
--ignore-submodules
選項覆寫。git submodule
命令不受此設定的影響。 - submodule.<名稱>.shallow
-
設定為 true 時,除非使用者明確要求非淺層複製,否則此子模組的複製將執行為淺層複製(歷史深度為 1)。
附註
Git 不允許工作樹內的 .gitmodules
檔案為符號連結,並且會拒絕檢出此類樹狀結構條目。這使得從索引或樹狀結構存取檔案時的行為保持一致,並有助於 Git 可靠地強制執行檔案內容的安全性檢查。
範例
考慮以下 .gitmodules
檔案
[submodule "libfoo"] path = include/foo url = git://foo.com/git/lib.git [submodule "libbar"] path = include/bar url = git://bar.com/git/lib.git
這定義了兩個子模組,libfoo
和 libbar
。這些子模組預計會在路徑 include/foo
和 include/bar
中檢出,並且為兩個子模組指定了一個 URL,可用於複製子模組。
GIT
屬於 git[1] 套件的一部分