私はメインのgitリポジトリにgitサブモジュールを持っています。私が理解しているように、メインリポジトリにはSHAの値(どこか...)が格納されており、サブモジュールの特定のコミットを指し示しています。Git Submoduleポインタを含むリポジトリに格納されているコミットに戻すには?
私はサブモジュールに入り、git checkout some_other_branch
と入力しました。私はどちらが来たのか分かりません。
メインのレポとサブモジュールが再び同期するように、そのポインタを元に戻したいと思います。
私の最初の(おそらく素朴な)本能は、git reset --hard
と言われました - それは他のすべてのために働くようです。私の驚いたことに、このシナリオではうまくいかなかった。
git diff
と入力すると、サブモジュールポインタが持っていたSHA IDをメモしてから、サブモジュールとgit checkout [SHA ID]
に向かうことに気がつきましたが、もっと簡単な方法が必要ですか?
私はまだgitサブモジュールについて学んでいるので、わからない概念の言葉があれば、私の用語を修正してください。
どういうわけか:サブモジュールで
:親で
:私は完全に私の親とサブモジュールの両方でunstaged変更を破棄したいのであれば、私は次の操作を行います'--init'を追加します。それがなければ、サブモジュールは '(新しいコミット)'の状態に留まります。私のサブモジュールは既に初期化されていました。 – Ambidex
@Ambidexはいすべての場合、 '--init'オプションは非常に重要です。サブモジュールがhttpsでクローンされていたので、私はユーザー名とパスワードの入力を求められました。私は両方のフォルダに行き、チェックアウトのために 'ssh'プロトコルを使うようにリモートを設定しました。 –