回答:
.gitignore
まだリポジトリに含まれていないファイルのみを無視します。すでにgit add
いくつかのファイルを編集した場合でも、それらの変更は引き続き追跡されます。これらのファイルをリポジトリから削除するには(ファイルシステムからではなく)git rm --cached
、それらを使用します。
.gitignoreファイルは、Gitによって追跡されないファイルが追跡されないままであることを保証します。
フォルダー/ファイルを.gitignoreファイルに追加するだけでは追跡が解除されません。Gitによって追跡されたままになります。
ファイルの追跡を解除するには、.gitignoreファイルにリストされている追跡ファイルをリポジトリから削除する必要があります。次に、それらを再度追加し、変更をコミットします。
これを行う最も簡単で完全な方法は、リポジトリ内のすべてのファイルを削除してキャッシュし、それらをすべて元に戻すことです。.gitignoreファイルにリストされているすべてのフォルダー/ファイルは追跡されません。リポジトリの最上位フォルダから、次のコマンドを実行します。
git rm -r --cached .
git add .
次に、変更をコミットします。
git commit -m "Untrack files in .gitignore"
不要なファイルを含む以前のコミットは、コミット履歴に残っていることに注意してください。GitHubにプッシュするときは.env
、client_secret.json
ファイルまたはファイルが含まれている可能性があるコミット履歴に注意してください。
ベストプラクティスは、.gitignoreファイルを作成し、プロジェクトの開始時に追跡しないフォルダ/ファイルをそのファイルに入力することです。ただし、多くの場合、不要なファイルが追跡および保存されていることを認識した後、.gitignoreファイルに追加する必要があります。
git rm -r --cached .
ロールバックを使用した後、すべての変更は.gitignoreで除外されるべきではないすべてのファイルを再度追加するようにも機能します。
これを見てください:.gitignoreが機能していません 特にADTCからのコメント:
.gitignoreファイルがANSIまたはUTF-8エンコーディングを使用していることを確認してください。Unicode BOMなどの他のものを使用している場合、Gitがファイルを読み取れない可能性があります。– ADTC 12月14日2017年12月39日