編集 (2020.12.28): GitHubは、2020 年 10 月以降、デフォルトのマスターブランチをメインブランチに変更します。https
://github.com/github/renaming を参照してください
。
2013 年 3 月の更新
Git 1.8.2 では、ブランチを追跡する機能が追加されました。
" " は、(スーパープロジェクトの gitlink に記録されたコミットと統合するのではなく)リモート ブランチの先端と統合git submodule
する新しいモードの学習を開始しました。
# add submodule to track master branch
git submodule add -b master [URL to Git repo];
# update your submodule
git submodule update --remote
サブモジュールがすでに存在していて、ブランチを追跡したい場合は、「既存のサブモジュールにブランチを追跡させる方法」を参照してください。
サブモジュールの一般的な情報については、サブモジュールに関する Vogella のチュートリアルも参照してください。
ノート:
git submodule add -b . [URL to Git repo];
^^^
git submodule
マンページを参照してください:
サブモジュール内のブランチの名前が現在のリポジトリ内の現在のブランチと同じ名前であることを示すために、特別な値.
が使用されます。
コミット b928922727d6691a3bdc28160f93f25712c565f6を参照してください。
submodule add
:--branch
が与えられた場合は、それを記録します。.gitmodules
署名者: W. Trevor King
これにより、新しいサブモジュールを追加するときにsubmodule.<name>.branch
オプションを簡単に記録できます。.gitmodules
このパッチにより、
$ git submodule add -b <branch> <repository> [<path>]
$ git config -f .gitmodules submodule.<path>.branch <branch>
に減少します
$ git submodule add -b <branch> <repository> [<path>]
これは、将来の呼び出しが
$ git submodule update --remote ...
サブモジュールの初期化に使用したのと同じブランチから更新を取得します。これは通常、必要なものです。
元の回答 (2012 年 2 月):
サブモジュールは、親リポジトリによって参照される単一のコミットです。
それ自体が Git リポジトリであるため、「すべてのコミットの履歴」はgit log
そのサブモジュール内からアクセスできます。
したがって、親がサブモジュールの特定のブランチの最新のコミットを自動的に追跡するには、次のことを行う必要があります。
- サブモジュールの cd
- git fetch/pull を実行して、正しいブランチに最新のコミットがあることを確認します
- 親リポジトリに cd を戻す
- サブモジュールの新しいコミットを記録するために追加してコミットします。
gitslave (既に見たもの) は、コミット操作を含め、最適なようです。
正しいサブモジュール ブランチにチェックアウトし、変更を行い、コミットしてから、スーパープロジェクトに移動してコミットをコミットする (または少なくともサブモジュール)。
その他の代替方法については、こちらで詳しく説明しています。