1. 序章

ご存知のとおり、 .gitignore ファイルは、追跡されていない将来のファイルがgitインデックスに追加されるのを防ぎます。 つまり、現在追跡されているファイルはすべてgitによって追跡されます。

このチュートリアルでは、追跡されたファイルを.gitignore に追加した後、gitインデックスから削除するさまざまな可能性を探ります。

2. 単一ファイルの削除

1つのファイルを削除するには、最初にファイル名を .gitignore に追加し、次に git rm コマンドを実行してから、コミットする必要があります。

git rm --cached <filename>
git commit -m "<Message>"

最初のコマンドはファイルをインデックスから削除して変更をステージングし、2番目のコマンドは変更をブランチにコミットします。

3. フォルダの削除

最初にフォルダ名を.gitignoreに追加し、 git コマンドを実行することで、フォルダ全体を削除できます。

git rm --cached -r <folder>
git commit -m "<Message>"

コマンドに-rが追加されていることに注意してください。これがないと、コマンドはで失敗します。

fatal: not removing 'folder' recursively without -r.

4. 無視されたファイルをすべて削除する

ここでは、.gitignoreで現在無視されているすべてのファイルを削除します。

git rm -r --cached .
git add .
git commit -m "Removes all .gitignore files and folders"

最初のコマンドは、インデックスからすべてのファイルを削除します。 2番目のコマンドは、 .gitignore にないすべてのファイルを再追加し、最後のコマンドは変更をコミットします。 これらの3つのコマンドの後、.gitignoreのすべてのファイルがインデックスから削除されます。

5. 結論

この記事では、追跡されたファイルをgitインデックスから削除する3つの異なる方法について説明しました。

上記のアクションは、マシンから物理ファイルを削除しませんが、変更をプルした後、他の開発者のマシンからファイルを削除します。