Git:すべてのビンフォルダーとOBJフォルダーの内容を再帰的に「gitrm」する必要があります

StackOverflow https://stackoverflow.com/questions/5870727

質問

偶然誰かがビンとOBJフォルダーをすべてリポジトリにコミットしました(そのようなフォルダーは約40個あります)。やりたいです git rm -r これらすべてのフォルダーに。これを行うコマンドはありますか?

役に立ちましたか?

解決

バックアップがあります、

 find . -type d -name bin -exec git rm -r {} \;

 find . -type d -name obj -exec git rm -r {} \;

アップデート

Bashを使用すると、Shopt Globstarを設定し、幸せになることができます。

 shopt -s globstar
 git rm -r **/{obj,bin}/

最後に、リポジトリの歴史からこれらを削除する必要がある場合は、 git filter-branch セクションを読んでください 「オブジェクトの削除」 から プロgit book

他のヒント

戻ったら(履歴のファイルを保持します)、またはコミットをリセットした後、

git reset --hard

これらが無視されたら、ファイルが無視されると、

git clean -xdf

ソリューションを再構築する前に、それを使用してクリーンアップします。 VSは、別のブランチまたはマージのチェックアウトの後でも、いくつかのDLLを使用しているようです。

ブランチをフィルタリングするために頼る必要はありません。インタラクティブなリベースが行います。 -preserve-mergesフラグを覚えておいてください。

お役に立てれば。

別のオプションは、問題のコミットを元に戻すことです git revert.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top