Git

.gitattributes で Git LFS の適用をディレクトリごとに変更する

Git LFS で巨大ファイルとして管理したいファイルは git lfs track で管理対象として指定すればいいのですが、今回は同じリポジトリ内でフォルダによって LFS の適用を切り替えたくなったので、その方法をメモしておきます。 Git LFS の適用 バイナリーでなくとも、たとえば数 MB を超えるようなデータベースダンプファイルなどは差分を表示す・・・続きを読む

git sparse checkout で一部のサブディレクトリだけを clone せずに pull/checkout する

Git は大変便利なのですが、 clone では基本的にすべてのディレクトリが同期されます。 不要なものを削除すればそれはそれで変更として追跡されてしまうので、一部のディレクトリだけを取得したい場合は sparse-checkout というテクニックを使います。 一旦 clone しない sparse checkout Git 特定のフォルダのみcloneす・・・続きを読む

Atlassian SourceTree と Git LFS の実行ファイル

Git の GUI ツールである SourceTree が Git LFS (Large File Storage) に対応してから 1 年ほどが経過します。 我々が使っている上ではまだまだ Git LFS の不具合が多くて試行錯誤しているところですが、ともあれ大容量ファイルのバージョン管理には役立っています。 さて今回は SourceTree が促してくる・・・続きを読む

Git LFS でうまく clone や pull ができないときにバイナリファイルのダウンロードをスキップする

Git LFS は Git で大容量ファイルを扱えるようにするものですが、不具合というか結構クセが強くて、正常に pull できなかったり、 push できなかったりすることがあります。 今回は 1GB 超の大容量ファイルがうまく pull できないリポジトリがあったので、その回避方法をご紹介します。 概要 発生したのは下記の環境です。ほぼすべて最新バージョ・・・続きを読む