🥗

[Git] Gitで容量の大きなファイルを扱う

2024/03/05に公開

Gitはバージョン管理ツールとして広く使われていますが、標準の設定では大きなファイルの取り扱いには向いていません。
しかし、Git Large File Storage(以下、Git LFS)を使用することで、この問題を解決することができます。
この記事では、Git LFSの導入手順と、容量の大きなファイルをGitで追跡する方法についてまとめます。
※Macの環境で実行するコマンドを前提にしている箇所があります。

Gitで容量の大きなファイルを扱う

Git Large File Storage(Git LFS)

Git LFSはオープンソースのGitの拡張機能であり、大きなファイルをgitリポジトリ内で追跡するためのものです。
これにより、バージョン管理の対象となるファイルのサイズ制限を変更することができます。

https://git-lfs.com/

Git LFSを使用することで、大きなファイルはリポジトリ内ではなく、外部のストレージに保管されます。これにより、リポジトリのサイズを小さく保つことが可能になります。

Git Large File Storageの導入手順

Git LFSのインストールは簡単です。まず、次のコマンドを実行してGit LFSをインストールします。

$ brew install git-lfs

次に、以下のコマンドを実行してGit LFSを初期化します。

$ git lfs install

これでGit LFSの準備は完了です。

実際に容量の大きなファイルを追跡対象にする

Git LFSを導入したら、次に大きなファイルを追跡対象にする設定を行います。
この設定は以下のコマンドで行えます。
今回は拡張子がmp4形式の動画ファイルを追跡対象にすることとします。

$ git lfs track "*.mp4"

このコマンドは、全ての.mp4ファイルをGit LFSで追跡するように設定します。
追跡対象のファイルは、特定のディレクトリ内や、特定の拡張子を持つファイルに限定することができます。

設定が完了したら、以下のコマンドで変更をコミットします。

$ git add .gitattributes
$ git commit -m "Track large files with Git LFS"

これで、容量の大きなファイルをGit LFSで追跡する準備が整いました。これからは、大きなファイルを通常のgitコマンドで扱うことができます。

gitで容量の大きなファイルを扱うための方法について説明しました。Git LFSを導入することで、大きなファイルを効率的に管理することが可能になります。ぜひ試してみてください。

最後ににGitHubに容量の大きなファイルをPushする際に参考となるドキュメントを貼っておきます。
https://docs.github.com/ja/repositories/working-with-files/managing-large-files

Discussion