0
1

Git LFS を使いたいんじゃ!!!

Posted at

こんちわ。

ゲーム会社でソシャゲを作ってます、あまがみです!
今回は、個人開発で Git LFS を使ってみたかったので、いろいろ調べてみました!

備忘録です!

Git LFS とはなんぞや?

まず Git と Git LFS って何が違うん?というところから。

Git

Git とは、プログラムのソースコードなどをの変更履歴を記録・追跡するための 分散型バージョン管理システム です。

古いバージョンに戻したり、新旧のファイルを一元管理できたり、複数人で修正した部分を共有できたりします。

Git LFS

Git LFS とは、Git の拡張機能です。
Git は 100MB 以上のファイルを扱えないのですが、Git LFS を使用することで、サイズの大きなファイルを管理することができます。

Git LFS では、サイズの大きなファイルの meta データのみを管理し、ファイル本体はリモートサーバーで管理する仕組みになっています。


つまり、Git LFS を使うことで、Git だけでは管理できなかった大きなファイル(assetデータやフォントなど)をソースコードと一緒にバージョン管理できるということですね!

使い方

とはいっても Git の拡張機能ですので、Git は事前にインストールしておかなければなりません。
インストールの仕方は割愛しますが、まだインストールされてない方は以下の記事を参考にしてみてください。


  • Gitのインストール方法(Windows版) [@T-H9703EnAc 様]

インストール

Git LFS のインストールは以下の手順で行います。

$ git lfs install

バージョンも確認しておくといいでしょう。

$ git lfs version

これで完了です!簡単だね!

リポジトリのクローン

$ git lfs clone <URL>

追跡するファイルを指定

次に追跡対象にしたいファイルを設定します。
100MBを超えるけど管理したいよーという拡張子を確認しておきましょう。

$ git lfs track "*.拡張子"

(例) $ git lfs track "*.asset"
みたいに指定すると、Git LFS が追跡してくれます。

確認

追跡対象が設定出来たら、一度確認しておきましょう。

$ git lfs ls-files

これで先ほど指定した拡張子が含まれていれば完了!

コミットしてみる

あとは通常通りにコミットします!

$ git add 対象のファイル

$ git commit -m "コミットメッセージ"

$ git push origin Pushしたいブランチ

これで 100MBを超えたファイルでも追跡してくれるはずです!

エラーが発生する場合

Encountered ~ file that should have been a pointer, but wasn't: というエラーが発生する場合があります。これは、Git LFS で追跡できてないよ~というエラーになりますので、 migrate コマンドで修正する必要があります!

$ git lfs migrate import --everything -- include="*.拡張子"

これで解決しない場合は、新しいリポジトリを作るほうが早いです。たぶん。

まとめ

  • Git LFS は Git の拡張機能
  • サイズの大きいファイルを追跡してくれるいいやつ
  • インストール簡単
  • エラーが出た場合、最悪リポジトリを作り直す必要がある

※間違っている部分がありましたら、ご連絡いただけますと幸いです!

参考資料

  • Git LFS をちょっと詳しく [@ikmski 様]

  • Gitのインストール方法(Windows版) [@T-H9703EnAc 様]

  • [Git LFS][Gitlab][Windows] Git LFSの環境作成 [@koare-local 様]

  • Git LFS を使う時の注意点 [みーのぺーじ 様]

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1