私のプロジェクトでは、私が取り組んでいる2つのブランチ(開発とリリース)があり、それぞれがサブモジュールを十分に利用しています。 Developブランチは、リリースの約2倍のサブモジュールを使用します。これは、アイデアをテストする場所であるためです。未処理のサブモジュールをすべてローカルの作業ディレクトリから削除するには?
私は、開発からリリースにブランチを切り替えると、開発固有のサブモジュールのディレクトリは、そのままの場所にとどまるので、untrackedになります。私はときどきReleaseからサブモジュールを追加したり削除したりする必要があり、git statusのメッセージは追跡されていないモジュールの長いリストになります。いくつかは私が使いたいものと、そうでないものがあります。
開発からリリースに切り替えるとすぐに、プロジェクトから未追跡のサブモジュールをすべて削除して、「クリーンスレート」で作業しています。ディレクトリ)。
私は、ここのように一度に個々のサブモジュールを1つずつ削除するには、いくつかの解決策を、発見した:How do I remove a submodule?
このようなソリューションは、Gitのサブモジュールは、(彼らはされていない)使用されており、追跡されていると仮定しかし、私が15〜20サブモジュールのようなものを使って作業しているときに、それらを一度に1つずつ取り除くことも首の痛みです。
また、私はそうのような配管Linuxのコマンドを試してみました:
gitのLS-ファイルは、--exclude-標準を--others | rm -rf
ただし、このコマンドは何も実行されません。私もgit rm -rfと同じものを使ってみましたが、無駄です。
作業ディレクトリからすべてのuntracked gitサブモジュールを削除するのが簡単かどうか知りませんか?誰もがこの問題に関して分かち合う助言があれば、大変感謝しています。ありがとうございました!
可能な複製http://stackoverflow.com/questions/61212/how-do-i-remove-local-untracked-files-from-my-current-git-branch?rq=1? 'git clean -df'でトラッキングされていないディレクトリを削除してください –
@ J.Titus私の理解では、サブモジュールは作業ツリー内の通常のディレクトリと同じように動作しないので、その解決法はサブモジュールでは機能しません。 – SemperCallide
ディレクトリがトラッキングされていない場合、技術的にはその時点でサブモジュールではありません。それらはあなたの '.gitmodules'ファイルに存在しますか? –