既存の Bitbucket リポジトリで Git LFS を使用する

このページでは、既存の Bitbucket Cloud リポジトリで Git LFS (Large File Storage) 拡張機能を使用する方法について説明します。

Bitbucket にリポジトリがない場合、開始方法について「Bitbucket で Git LFS を使用する」ページをご参照ください。

既存のリポジトリで Git LFS の利用を開始する

1. ローカル マシンに Git LFS クライアントをインストールする

手順については、「Bitbucket で Git LFS を使用する」をご参照ください。

2. Git LFS ファイルのトラッキングをローカルにセットアップする

手順については、「Bitbucket で Git LFS を使用する」をご参照ください。

3. Git 履歴を変更する

大容量ファイルのトラッキングを行うことと、それらを LFS ファイルに変換することは異なる点にご注意ください。大容量ファイルは引き続き Git リポジトリの一部であるため、それらのファイルを変換するには、履歴を書き換える必要があります。 

既存の Git リポジトリを、Git LFS を使用できるように変換するには、bfg-repo-cleaner をご利用ください。手順については「BFG を使用してリポジトリを Git LFS に移行する」をご参照ください。

リポジトリから Git LFS ファイルを削除する

Bitbucket アカウントで LFS スペースを確保するなどの目的のために、リポジトリから Git LFS ファイルを削除する必要がある場合があります。Bitbucket の新しい料金モデルが開始されると、より多くのストレージ容量を使用できるようなる点にご注意ください。

リポジトリから個々の LFS ファイルを削除する

次の点を理解しておく必要があります。

  • ここで説明される削除操作は不可逆的なものです。git remove コマンドとは異なり、削除された LFS ポインタ ファイルが参照している LFS ファイルを復旧させることはできません。したがって、まず LFS ファイルのバックアップを行うことをおすすめします。

  • LFS ファイルの削除を行うと、そのファイルはリモート ストレージからのみ削除されます。Git リポジトリに保存されているすべての参照ポインタはそのまま残ります。 

  • 今後、ブランチ、タグ、またはリビジョンで LFS ファイルを参照することはできません。削除された LFS ファイルを参照しているポインタ ファイルを含むブランチ、タグ、またはリビジョンをチェックアウトしようとした場合、ダウンロード エラーが表示され、チェックアウトは失敗します。 

  • BFG ツールを使用する際は、コア リポジトリ内のポインターのみが削除されます。リポジトリ内の実際の LFS ファイルは削除されません。

リポジトリ管理者は次の手順でリポジトリから Git LFS ファイルを削除できます。

  1. リポジトリの設定ページに移動し、[Git LFS] をクリックして、リポジトリ内のすべての LFS ファイルの一覧を表示します。

  2. アクション メニューを使用して LFS ファイルを削除します。

LFS ファイルを含むリポジトリごと削除する

  • リポジトリを削除する前に、LFS ファイルを含んだ状態のリポジトリの完全なバックアップを作成しておくことをおすすめします。

  • リポジトリ管理者はリポジトリ設定から LFS ファイルを含むリポジトリを削除することができます。

  • 各リポジトリで使用されている LFS ストレージ量を確認するには、Bitbucket のアカウント設定で [Git LFS] に移動します。

ダウンロード エラーを防止する方法...

.gitconfig ファイルを変更したり、変数を追加したりして、ダウンロード エラーをスキップすることができます。これにより、ダウンロード エラーが発生したときに Git LFS で smudge filter を中止しないようにして、LFS コンテンツをダウンロードできない場合にもチェックアウトなどのアクションを利用できるようにすることができます。ダウンロードできない LFS ファイルには、ポインタ コンテンツが含まれます。

この手順では、smudge filter を呼び出す Git コマンドに、LFS ダウンロードが失敗した場合にも成功を返すように設定するため、スクリプトやビルド システムに影響を与える可能性があることにご注意ください。

.gitconfig ファイルを変更する

.gitconfig ファイルに以下の行を追加します。

lfs.skipdownloaderrors=true

変数

また、変数 GIT_LFS_SKIP_DOWNLOAD_ERRORS=1 を設定して同様の内容を実現することもできます。

その他のヘルプ