セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.42.1 → 2.49.0 変更なし
-
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]スイートの一部