無視したいファイルを大量にコミットしました。今後のコミットでこれらのファイルを無視するように 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 rm
xargs
これで、git apply-gitignore
リポジトリを入力するだけで、作業が自動的に実行されます。