15

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

4

3 に答える 3

26

バックアップをとる、

 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}/

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

于 2011-05-03T14:10:38.793 に答える
5

元に戻す(ファイルを履歴に保持する)か、コミットをリセットしたら、

git reset --hard

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

git clean -xdf

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

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

お役に立てれば。

于 2011-05-03T14:14:11.313 に答える
-3

もう1つのオプションは、問題のあるコミットを。で元に戻すことgit revertです。

于 2011-05-03T14:14:21.003 に答える