コミットされたファイルに .gitignore を適用する 質問する

コミットされたファイルに .gitignore を適用する 質問する

無視したいファイルを大量にコミットしました。今後のコミットでこれらのファイルを無視するように git に指示するにはどうすればよいでしょうか?

編集: これらもリポジトリから削除したいと思います。これらは、ビルド後またはユーザー固有のツール サポート用に作成されたファイルです。

ベストアンサー1

.gitignore無視されたファイルと一致するように編集した後、git ls-files -ci --exclude-standard除外リストに含まれるファイルを確認するには、次のようにします。

  • Linux/MacOS:git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
  • Windows (PowerShell):git ls-files -ci --exclude-standard | % { git rm --cached "$_" }
  • Windows (cmd.exe):for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"

リポジトリから削除します (ディスクからは削除しません)。

編集: これを .gitconfig ファイルにエイリアスとして追加して、いつでも実行できるようにすることもできます。[alias] セクションの下に次の行を追加するだけです (Windows または Mac の場合は必要に応じて変更してください)。

apply-gitignore = !git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached

(の-rフラグは、空の結果での実行とその使用方法メッセージの出力をxargs防止しますが、GNU findutils でのみサポートされている可能性があります。 の他のバージョンには、同様のオプションがある場合とない場合があります。)git rmxargs

これで、git apply-gitignoreリポジトリを入力するだけで、作業が自動的に実行されます。

おすすめ記事