[解決済み] git checkoutでgit submoduleが自動的に更新されないのはなぜですか?
2023-05-04 14:30:45
質問
git checkoutでブランチを切り替えるとき、ほとんどの場合、サブモジュールを更新したいと思うのではないでしょうか。
- どのような状況で ではない は、切り替え後にサブモジュールを更新したいですか?
- これがgit checkoutで自動的に行われるとしたら、何が壊れるのでしょうか?
例題を更新しました。
- ブランチAは3852f1にサブモジュールSを持ちます。
- ブランチ B は fd72d7 にサブモジュール S を持ちます。
ブランチ A において、git checkout B はブランチ B の作業コピーになり、サブモジュール S が 3852f1 にあります(S は変更されています)。git submodule update は S を fd72d7 にチェックアウトします。
どのように解決するのですか?
git checkout --recurse-submodules
が git 2.13 に追加されました。
のリリースノートに記載されています。 https://github.com/git/git/commit/e1104a5ee539408b81566066aaa6963cb87d5cd6#diff-c24776ff22455a30fbb78e378b7df0b0R139
submodule.recurse
オプションは git 2.14 で追加されました。
として設定します。
git config --global submodule.recurse true
man git-config
は言う。
コマンドがデフォルトでサブモジュールに再帰するかどうかを指定します。これは
--recurse-submodules
オプションがあるすべてのコマンドに適用されます。デフォルトは false です。
デフォルトでモジュールを更新しないことは、ほとんどのユーザーの期待に反しており、サブモジュールの採用を制限する、悪いGitのデフォルトの動作だと感じています、私は本当に開発者がそれを変更することを望みます。
関連
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] Git のブランチの一覧を最新のコミット順に表示するにはどうしたらよいですか?
-
[解決済み] Git で、別のブランチの変更を選択的にマージしたり選択したりするにはどうすればよいですか?
-
[解決済み] git のコミットを削除しても、変更は維持できますか?
-
[解決済み] Gitによるhotfixブランチのfeatureブランチへのマージ
-
[解決済み] master からの Git ブランチの更新
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] VSCodeからgitの統合を削除する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
Git Bashが致命的に表示される:この操作は作業ツリーで実行する必要がある
-
解決策正しいアクセス権を持っていることと、リポジトリが存在することを確認してください。
-
gitlabの紹介と使い方
-
[解決済み】git pullでサブモジュールを自動更新させる方法はありますか?
-
[解決済み] [Solved] Git Submodule HEADがmasterから切り離されるのはなぜですか?
-
[解決済み] GitHubで2つのブランチの差分を取るには?
-
[解決済み] Git git reset」後にコミットメッセージを再利用/保持するには?
-
[解決済み] gitで、stashを適用せずに、追跡されていないstashedファイルを表示する方法はありますか?
-
[解決済み] どのブランチとマージしたいかを言わずにpullするように言われました。