\r\n\r\n
未追跡のファイルは、Git の作業ツリーを散らかすことになります。これらの未追跡ファイルは、リモートリポジトリで使用したくないテキストやその他のファイルであったり、転送コミット後に何らかの間違いで作成されたファイルであったりすることがあります。
いずれにせよ、これらのファイルを削除するためにGitの作業ツリーをクリーンアップすることは常に有用です。
プロジェクト内の既存のファイルを更新したり新しいファイルを追加したりして、その更新を GitHub 上のリモートリポジトリにプッシュしたい場合、Git はこれらの変更をステージしてコミットすることを要求します。
提出済みの既存文書のみを更新しても、トラッキングファイルから削除されることはありません。
コミットフェーズのために更新すると、新しいファイルもステージされ、Gitはそれらを追跡ファイルに追加します。ただし、コミット段階以降にプロジェクトに追加された新しいファイルは追跡されない。
これらのファイルは、重要でないファイル、一時的に使用される残り物、または特定の変更をマージまたはプッシュした後に何らかの形で現れるファイルである可能性があります。そのため、これらの未追跡ファイルは作業ツリーに隠れたままとなり、git status を実行したときに未追跡ファイルとして返されます。
これらのファイルは、Gitの作業ツリーをクリーンアップすることで削除することができます。そうでなくても、ローカルでそれらが必要だと思うのであれば、.gitignore ファイルにそれらを追加することができます。.gitignoreに追加されたファイルは、それらを含めることにしても、クリーンアップの影響を受けません。
Gitのクリーンアップは、ローカルまたはリモートでGitブランチを削除するのと同じくらい簡単です。Gitのクリーンアップで、追跡されていないファイルやフォルダーを削除する様々な方法を見てみましょう。
追跡されていないファイルを削除する前に、削除したいファイルかどうかを再確認してください。
git clean -d -nこのコマンドは、Gitが作業ツリーから削除する、追跡されていない全てのフォルダーとファイルを返します。
これらのファイルやディレクトリを削除するには、以下を実行します。
git clean -d -fフォルダを削除せず、ファイルのみを削除する場合は、次のようにします。
git clean -f上記の方法では、.gitinoreに記載されているファイルは削除されませんが、以下のコマンドで.gitinoreファイルに記載されている項目をクリアすることも可能です。
git clean -fx無視されたファイルだけを削除し、他のファイルを削除しないようにするには、小文字の「x」を大文字の「x」に変更します。
git clean -fX作業ツリーに未採点のファイルが残っているかどうかを確認するには、以下のコマンドを実行します。
git statusまた、Gitを対話的にクリーンアップすることもできます。
git clean -iインタラクティブクリーンアップモードで.gitignoreにあるファイルをインクルードするには、次のようにします。
git clean -ix対話型モードのみで.gitignoreに登録されているファイルを消去するには、以下のコマンドを実行します。このとき、大文字の「X」を使用することを確認してください。
git clean -ifXインタラクティブモードに入ると、ファイルを番号や文字列のパターンでフィルタリングする方法が選択できるようになります。また、ask ifオプションを選択すると、各ファイルを削除する前にダブルチェックすることができます。ご希望の場合は、「クリア」を選択して、ファイルを直接削除することができます。
git status を実行すると、現在のステージング情報が表示されます。また、ステージングされていないファイルやフォルダーがあるかどうかも知ることができます。
しかし、Gitの状態を確認した後、以前に削除したファイルがまだuntracked filesのセクションに表示されている場合は、Gitキャッシュをクリアする必要があります。その後、もう一度git cleanを実行してファイルを削除してください。
関連:GitHubのデスクトップクローニングリポジトリの利用方法
Gitのキャッシュをクリアする。
git rm -r --cached [filename]Gitをクリーニングしてもまだ複数のファイルが表示される場合は、次のコマンドで各ファイルのGitキャッシュをクリアしてください。
git rm -r --cached [filename1] [filename2] [filename3]...ただし、各ファイルには必ず拡張子を付け、それらを削除するために再度Gitをクリアすることを忘れないでください。
次にプロジェクトを離れる前に、Git の作業ツリーを整理しておきたいことがあります。その後、最後に行った変更をプロジェクトにプッシュまたはマージして、次に停止したときから完全に回復できるようにすることもあります。
ただし、プッシュやマージの際に、リポジトリ内の不要なファイルが誤ってログインされることがあります。
これらのファイルのチェックと削除を怠ると、次回リモートリポジトリが更新されたときにこれらのファイルがプッシュされるため、リモートリポジトリが壊れる可能性があります。これに加えて、Heroku のように git を使ってデプロイするプラットフォームでは、これらのファイルが何かを壊してしまう可能性があります。
だから:あなたのア**をきれいに保つ