私は.gitmodulesファイルにサブモジュールのために、この構成を持っている:誰かが私のレポのクローンして、これらのコマンドを実行したときにGit-submodules更新を実行した後、HEADは常に切り離されますか?
[submodule "sub"]
shallow = true
branch = master
path = sub
url = https://path/to/repo.git
今、私がしたい:
git submodule init
git submodule update
は、サブモジュールの浅いmasterブランチを取得することです。しかし、それはmaster
ブランチにチェックアウトしていません。それはいつも分離頭になるので、手動でgit checkout master
を実行する必要があります。したがって、これらの2つのコマンドの代わりに、1つのコマンドだけを実行する必要があります。
私はこれに見えた:Why is my GIT Submodule HEAD detached from master?
しかし、受け入れられた答えにあったすべてのアドバイスは、助けていないようです:私はマスターにリモート上流追加、.gitmodules
ファイルに私が欲しいの枝を追加した(ため、この唯一の作品私が自分自身を習得するためにチェックアウトしなければならなかった後、既にクローンされた/更新されたリポジトリ)
これは、誰かが自分のリポジトリをクローンしてサブモジュールを設定したい場合に、常にHEADを分離することを意図していますか?
はい、 'git submodule update'は、常にサブモジュールのための分離HEADを作成します。これは、サブモジュールがサブモジュールである間にサブモジュールで開発を行う場合(他のモジュールをチェックアウトするのではなく)、非常に面倒です。作業を行う前にまずcheckout branch_nameを実行し、コミット後に親プロジェクトに戻って変更を追加することを覚えておく必要があります。私は、もっと便利な方法でこれを自動化するための答えを探しています。 –