セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.42.1 → 2.50.1 変更なし
-
2.42.0
2023-08-21
- 2.32.1 → 2.41.3 変更なし
-
2.32.0
2021-06-06
- 2.30.2 → 2.31.8 変更なし
-
2.30.1
2021-02-08
- 2.28.1 → 2.30.0 変更なし
-
2.28.0
2020-07-27
- 2.25.1 → 2.27.1 変更なし
-
2.25.0
2020-01-13
- 2.24.2 → 2.24.4 変更なし
-
2.24.1
2019-12-06
-
2.24.0
2019-11-04
- 2.23.2 → 2.23.4 変更なし
-
2.23.1
2019-12-06
-
2.23.0
2019-08-16
- 2.22.3 → 2.22.5 変更なし
-
2.22.2
2019-12-06
- 2.22.1 変更なし
-
2.22.0
2019-06-07
- 2.21.2 → 2.21.4 変更なし
-
2.21.1
2019-12-06
-
2.21.0
2019-02-24
- 2.20.3 → 2.20.5 変更なし
-
2.20.2
2019-12-06
- 2.20.1 変更なし
-
2.20.0
2018-12-09
- 2.19.4 → 2.19.6 変更なし
-
2.19.3
2019-12-06
-
2.19.2
2018-11-21
- 2.19.1 変更なし
-
2.19.0
2018-09-10
- 2.18.3 → 2.18.5 変更なし
-
2.18.2
2019-12-06
- 2.18.1 変更なし
-
2.18.0
2018-06-21
- 2.17.4 → 2.17.6 変更なし
-
2.17.3
2019-12-06
- 2.17.1 → 2.17.2 変更なし
-
2.17.0
2018-04-02
- 2.16.6 変更なし
-
2.15.4
2019-12-06
- 2.14.6 変更なし
-
2.13.7
2018-05-22
- 2.11.4 → 2.12.5 変更なし
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.4.12 → 2.8.6 変更なし
-
2.3.10
2015-09-28
- 2.1.4 → 2.2.3 変更なし
-
2.0.5
2014-12-17
説明
Git のワーキングツリーのトップレベルディレクトリにある .gitmodules
ファイルは、git-config[1] の要件に合う構文を持つテキストファイルです。
このファイルにはサブモジュールごとに1つのサブセクションが含まれており、サブセクションの値はサブモジュールの名前です。名前は、git submodule add の --name
オプションでカスタマイズされない限り、サブモジュールが追加されたパスに設定されます。各サブモジュールセクションには、次の必須キーも含まれています。
- submodule.<name>.path
-
サブモジュールがチェックアウトされる、Git ワーキングツリーのトップレベルディレクトリに対する相対パスを定義します。パス名の末尾に
/
を含めてはいけません。.gitmodules
ファイル内のすべてのサブモジュールパスは一意である必要があります。 - submodule.<name>.url
-
サブモジュールリポジトリをクローンできる URL を定義します。これは、git-clone[1] に直接渡せる絶対 URL か、(
./
または../
で始まる場合は) スーパートロジェクトのオリジンリポジトリに対する相対パスのいずれかです。
さらに、いくつかのオプションキーがあります。
- submodule.<name>.update
-
指定されたサブモジュールのデフォルトの更新手順、つまり、スーパートロジェクトで
git
submodule
update
コマンドによってサブモジュールがどのように更新されるかを定義します。これは、同じ名前の設定変数を初期化するためにgit
submodule
init
によってのみ使用されます。許可される値は、checkout、rebase、merge、none ですが、!command は (セキュリティ上の理由から) 許可されません。詳細については、git-submodule[1] の update コマンドの説明を参照してください。 - submodule.<name>.branch
-
アップストリームサブモジュールの更新を追跡するためのリモートブランチ名。このオプションが指定されていない場合、デフォルトはリモートの
HEAD
になります。.
の特殊な値は、サブモジュール内のブランチ名が現在のリポジトリ内の現在のブランチと同じ名前であることを示すために使用されます。詳細については、git-submodule[1] の--remote
ドキュメントを参照してください。 - submodule.<name>.fetchRecurseSubmodules
-
このオプションを使用して、このサブモジュールの再帰的なフェッチを制御できます。このオプションがスーパートロジェクトの
.git/config
内のサブモジュールのエントリにも存在する場合、そこの設定は.gitmodules
の設定を上書きします。git
fetch
およびgit
pull
の--
[no-
]recurse-submodules
オプションを使用することで、両方の設定をコマンドラインで上書きできます。 - submodule.<name>.ignore
-
git
status
と diff ファミリーがサブモジュールを修正済みとして表示する状況を定義します。以下の値がサポートされています。- all
-
サブモジュールは決して変更済みとは見なされません (ただし、ステージングされている場合は status と commit の出力に表示されます)。
- dirty
-
サブモジュールのワーキングツリーへのすべての変更は無視され、サブモジュールの
HEAD
とスーパートロジェクトに記録された状態との間のコミットされた差分のみが考慮されます。 - untracked
-
サブモジュール内の追跡されていないファイルのみが無視されます。コミットされた差分と追跡されているファイルへの変更は表示されます。
- none
-
サブモジュールへの変更は何も無視されず、コミットされた差分、追跡されているファイルと追跡されていないファイルへの変更のすべてが表示されます。これがデフォルトのオプションです。
このオプションがスーパートロジェクトの
.git/config
内のサブモジュールのエントリにも存在する場合、そこの設定は.gitmodules
の設定を上書きします。両方の設定は、
--ignore-submodules
オプションを使用することでコマンドラインで上書きできます。git
submodule
コマンドはこの設定の影響を受けません。 - submodule.<name>.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
の 2 つのサブモジュールを定義します。これらは include/foo
と include/bar
のパスにチェックアウトされることが想定されており、両方のサブモジュールについて、サブモジュールをクローンするために使用できる URL が指定されています。
GIT
git[1]スイートの一部