Git をバージョン管理に使用する開発者にとって、不要な大きなファイルを削除するのは一般的な作業です。これらの大きなファイルは多くのストレージ スペースを占有する傾向があり、ウェアハウスが扱いにくくなります。これらの大きなファイルが時間内に処理されない場合、コードの開発とデプロイメントに重大な影響を及ぼします。
それでは、Git で大きなファイルを削除するにはどうすればよいでしょうか?
最初の方法は、フィルター ファイルを使用することです。 .gitignore ファイルを使用すると、一部の不要なファイルを無視できるため、送信されるデータの量を減らすことができます。たとえば、すべてのバイナリ ファイルを .gitignore ファイルに追加して、無視できるようにすることができます。ただし、これらのファイルがすでにリポジトリにコミットされている場合、この方法では完全に削除できません。したがって、以下に説明する代替アプローチを検討する必要があります。
2 番目の方法は、Git LFS (Large File Storage) を使用することです。 Git LFS は、画像、ビデオ、オーディオ ファイルなどの大きなバイナリ ファイルを保存するために使用される Git 拡張機能です。 Git LFS を使用すると、これらの大きなファイルを Git リポジトリの外に移動できるため、Git リポジトリの負荷が軽減されます。 Git 操作での Git LFS の使用は、通常の Git 操作と非常に似ており、少しの構成のみが必要です。具体的には、まず Git LFS 拡張機能をインストールし、それをプロジェクトで有効にする必要があります。次に、大きなファイルを Git LFS リポジトリにコミットできるため、これらの大きなファイルは通常の Git リポジトリと同じように操作できます。現時点でファイルを変更する場合は、Git LFS コマンドを使用して送信およびプッシュする必要があることに注意してください。
3 番目の方法は、Git Filter-branch を使用することです。大きなファイルを Git リポジトリにコミットした場合は、Git Filter-branch コマンドを使用してファイルを削除できます。 Git Filter-branch は、Git リポジトリのコミット履歴を書き換えて特定のファイルまたはフォルダーを削除できる Git コマンドです。具体的には、次のコマンドを使用する必要があります:
git filter-branch --tree-filter 'rm -f path-to-file' HEAD
ここで、「path-to-file」は削除するファイルのパスです。上記のコマンドを実行すると、Git はコミット履歴全体をスキャンし、「ファイルへのパス」を含むコミットを削除します。
要約すると、不要な大きなファイルの削除は非常に一般的な Git タスクです。このタスクを実行するには、フィルター ファイル、Git LFS、Git Filter-branch などの方法を使用できますが、具体的な方法は状況に応じて選択する必要があります。どの方法を使用する場合でも、不必要な損失を防ぐために、大きなファイルを削除する前に必ずバックアップを作成する必要があります。
以上がgitで大きなファイルを削除する方法(3つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。