ホームページ  >  記事  >  開発ツール  >  大きすぎるgitファイルに対処する方法

大きすぎるgitファイルに対処する方法

WBOY
WBOYオリジナル
2023-05-17 09:57:362934ブラウズ

ファイルのバージョン管理に Git を使用している場合、大きすぎるファイルが発生することがあります。ファイルが大きすぎると、Git の実行速度の低下、メモリ使用量の増加、さらには Git 送信アップロードの失敗などの問題が発生する可能性があります。この記事では、Git ファイルが大きすぎる場合の対処方法をいくつか紹介します。

1. Git LFS の使用

Git Large File Storage (略して Git LFS) は、特に大きなファイルの処理に使用される Git の拡張機能です。 Git LFS を使用すると、Git はファイルをリポジトリに保存せず、代わりに特定のリポジトリにリンクします。この方法により、大きなファイルが多すぎることによって引き起こされる過度に大きなバージョン ライブラリが回避され、Git の操作パフォーマンスが向上します。

次に、Git LFS の使用方法を紹介します。

  1. Homebrew を使用して、Mac に git-lfs ツールをインストールします。

brew install git -lfs

  1. git lfs install コマンドを実行して Git LFS を構成します。

git lfs install

  1. これを Git ウェアハウスで使用します。管理する必要がある大きなファイルの種類を指定するには、Git LFS git lfs track コマンドで管理する必要があります。たとえば、次のコマンドは、拡張子が png の画像ファイルを Git LFS 管理に渡します。

git lfs track "*.png"

  1. Git への変更をコミットするには、git lfs Push コマンドを使用して、Git LFS で管理されている大きなファイルをアップロードします。

git lfs Push Origin master

  1. 最後に、Git で git lfs fetch コマンドを使用して、Git LFS で管理されているファイルをローカルにダウンロードします。

2. Git Annex を使用する

Git Annex は Git のもう 1 つの拡張機能であり、大きなファイルの管理にも使用されます。ただし、Git LFS とは異なり、Git Annex は元の Git ファイル管理を置き換えるものではなく、Git ファイル管理を補足するものとして機能します。 Git Annex で管理される大きなファイルは、ローカルの Git リポジトリにはダウンロードされず、ローカル ディスクに保存され、大きなファイルへのポインタが Git リポジトリに保存されます。

以下では、Git Annex の使用方法について説明します。

  1. Homebrew を使用して、Mac に git-annex ツールをインストールします。

brew install git-annex

  1. Git Annex を使用して管理する必要がある Git リポジトリで初期化します。

git annex init

  1. 必要なファイルを追加します。 Git Annex に管理されます:
##git annex addlarge_file.mp4

    ファイルを Git リポジトリに送信します:
git commit -m "addlarge_file.mp4"

    ファイルをダウンロードする必要がある場合は、git annex get コマンドを使用します:
git annex getlarge_file.mp4

3. Git 再パック圧縮バージョンのライブラリを使用する

Git LFS、Git Annex、およびその他のツールを使用して大きなファイルを管理することに加えて、Git 独自の再パック ツールを使用してリポジトリを圧縮してサイズを削減することもできます。リポジトリの。以下では、再パック ツールの使用方法について説明します。

    Git で次のコマンドを実行します。
git repack

    履歴ファイルを圧縮するには、次のように実行できます:
git repack -a -d

    これにより、新しいパック ファイルが生成され、すべての非圧縮オブジェクトが再パッケージ化され、重複ファイルが自動的に削除されるため、履歴ファイルのサイズが削減されます。圧縮パック ファイルを Git サーバーにアップロードする必要がある場合は、コマンド
git gc

4 を使用できます。Git BFG

Git を使用します。 BFGはGitバックアップフィルターの略称で、シンプルで実用的なGitツールです。これは公式の Git ツールに基づいており、Git ユーザーが Git バージョン管理ライブラリをより適切に管理するのに役立ちます。 Git BFG を使用すると、Git バージョン管理リポジトリ内の不要なファイルや履歴レコードをより簡単に削除できます。ここではGit BFGの使い方を紹介します。

    Mac で Homebrew を使用して Git BFG をローカルにインストールします:
brew install bfg

    Git リポジトリで使用
  1. bfg 不要なファイルを削除するコマンド。 file-to-remove を削除する必要があるファイルの名前に置き換えることに注意してください。ワイルドカードもサポートされています:
bfg --delete-files file-to -remove

    次のコマンドを実行して、リポジトリ内のファイルを履歴から完全に消去します。このステップでは、「削除するファイル」を含むファイルを履歴に記録して、完全に削除できるようにします。
git reflogexpire --expire=now --all && git gc - -prune=now --aggressive

    最後に次のコマンドを使用して、ローカル ブランチとリモート ブランチを同期します。
git Pushorigin --force

概要 :

Git ファイルが大きすぎる問題には、Git LFS、Git Annex、Git repack、Git BFG などのさまざまな処理方法を使用できます。これらのツールはすべて役に立ちます。実際の状況とニーズに応じて選択する必要があります。 Git ファイルが大きすぎるという問題に頻繁に直面する場合は、上記の方法を試すことをお勧めします。

以上が大きすぎるgitファイルに対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。