Gitはやっていることを正確にやっています。 git submodule update
は、サブモジュールを、親リポジトリ内の現在のコミットがサブモジュールがであることを指定するものに設定します。この方法で別のブランチ、古いコミットまたはタグをチェックアウトしてからgit submodule update
を実行すると、そのサブモジュールはその参照が期待するものに設定され、ソリューション全体で依存関係が満たされます。あなたがする必要がどのような
は次のとおりです。
cd mysubmoduledir
git fetch
git checkout master # or any other branch that you need the latest of
git merge origin/master
cd - # go back to the top repo
git status # should show that your submodule changed
git add mysubmoduledir
git commit -m "Updated my solution to use latest sub project."
短いバージョンは次のとおりです。
cd mysubmoduledir
git pull # assumes you are already on the branch you need to be on
cd -
git commit -am "Updated submodule" # assumes you had no other modified files
単語「更新」は、このサブモジュールのコマンドのための最良のではありません。それは実際には、 "親リポジトリのコミットが期待するコミットにサブモジュールを指す"ことを意味します。
サブモジュールを別のコミット(最新である必要はありません)に更新すると、そのディレクトリにcdする必要があります。通常のgit repoと同じように操作して、現在のコミットを望み通りに戻します。トップレベルのレポにこの変更をコミットします。
どのようなコマンドのばかげた名前ですか? 明らかにgit submodule etadpuであるべきです –
この "git submodule ilikepancakes"について考えてみると、おそらく意味をなさないでしょう。誰かが同意しない場合は、カーネルスペースapisのデザインに関する賢明なプレゼンテーションを読んでください: http://man7.org/conf/lca2013/Why_kernel_space_sucks-2013-02-01-printable.pdf –
'git submodule ':https://chrisjean.com/git-submodules-adding-using-removing-and-updating/ –