Bitbucket での Git LFS のトラブルシューティング

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

Bitbucket Cloud は、大容量ファイルの処理を高速化する、Git の Large File Storage (LFS) 拡張機能をサポートします。この機能は、Git リポジトリ内の大容量ファイルをテキスト ポインタ ファイルで置き換えます。大容量ファイルはリモート サーバに保存され、ポインタはそれを示します。

詳細については、「Bitbucket での Git Large File Storage」をご参照ください。

このページでは、Bitbucket で Git LFS を使用する際に発生する可能性がある問題のトラブルシューティング方法について説明します。


一般的なチェックリスト


1. ローカル マシンに Git LFS クライアントをインストール済みですか?

リポジトリで作業に取り組む各ユーザーは、ローカル マシンに Git LFS クライアントをインストール済みである必要があります。

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

2. Git LFS のファイル トラッキングのセットアップと、.gitattributes ファイルのリポジトリへのプッシュは完了していますか?

リポジトリではファイル トラッキングのセットアップが完了している必要があり、また、更新済みの .gitattributes ファイルがリポジトリにプッシュされている必要があります。

そのリポジトリで以降に作業するユーザーのリポジトリのローカル クローンには、この .gitattributes ファイルが含まれます。

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

3. Bitbucket アカウントのストレージが十分であることを確認しましたか?

Bitbucket では、アカウントのストレージ制限が超過されている場合、LFS ファイルのリポジトリへのプッシュが制限されます。

アカウントで現在使用しているストレージ量を確認するには、Bitbucket のアバター メニューから [設定] > [Git LFS] を選択します。

詳細については「Bitbucket での Git LFS でのストレージ ポリシー」をご参照ください。

Git LFS での個別のエラーについて

Git LFS ファイルが見つからない

リポジトリ内に LFS ポインタ ファイルが存在しているが、リモート ストレージ内に宛先ファイルが見つからない。

Bitbucket では次のような "File missing" メッセージが表示されます。

ターミナルでは次のような 404 メッセージが表示される場合があります。

Git LFS: (0 of 1 files, 1 skipped) 0 B / 1024 B, 1024 B skipped                                  
[404] Object does not exist on the server
[ee62792aacdfe08a6f5437...8dc4eb6973d86c74c1a273] Object does not exist on the server
考えられる原因
実行可能な対応策
ファイル ストレージのサーバーがダウンしている後でもう一度試行します。
ファイルが適切にアップロードされなかった。これは、ファイルをアップロードしたときに Git LFS が適切に構成されていなかったときに発生する場合があります。

元のファイルにアクセス可能な場合、再度アップロードを試みます。たとえば、data.bin のリストアは次のように行います。

$ cp <source> data.bin
$ git add data.bin
$ git lfs push <remote> <branch> --all
$ git checkout data.bin

元のファイルにアクセスできない場合、ユーザー側で対応することはできません。

トップに戻る

Git LFS ファイルを Bitbucket にプッシュするときのエラー

大容量の Git LFS ファイルを Bitbucket.org にプッシュすると、タイムアウトが発生して失敗した。

ターミナルでは次のようなメッセージが表示される場合があります。

Git LFS: (0 of 1 files) 1.60 GB / 1.60 GB
http: Put https://media-api.atlassian.io/upload/7cd73528-28e4-4c45-92a5-e6ddbf52a75e/binary?hashAlgorithm=sha2...: EOF
error: failed to push some refs to 'git@bitbucket.org:account/some_repo.git'
考えられる原因
実行可能な対応策
特に大容量のファイル (複数ギガバイトのサイズ) をプッシュしてタイム アウトが発生している。

Atlassian の Bitbucket LFS Media Adapter をダウンロードして利用できます。

メリット

  • Bitbucket LFS Media Adapter は、巨大なバイナリ ファイルを 1 度でアップロードしようとするのではなく、ファイルを 4 MB に分割します。この 4 MB の単位がアップロードされます。
  • これにより、アップロード / ダウンロードが再開可能な処理になるほか、重複排除を利用できます (変更した単位のみをアップロード)。

後でもう一度試行します。

トップに戻る

SSH を使用して巨大なファイルや多数のファイルを Git LFS にプッシュするときのエラー

SSH を使用して巨大なファイルや多数のファイルを Git LFS にプッシュすると、タイム アウトが発生して失敗する。

ターミナルでは次のようなメッセージが表示される場合があります。

Git LFS: (0 of 1 files) 1.60 GB / 1.60 GB
http: Put https://media-api.atlassian.io/upload/7cd73528-28e4-4c45-92a5-e6ddbf52a75e/binary?hashAlgorithm=sha2...: EOF
error: failed to push some refs to 'git@bitbucket.org:account/some_repo.git'
考えられる原因
実行可能な対応策
SSH でのタイム アウトとプッシュの失敗巨大なファイルや多数のファイルの Git LFS へのプッシュに SSH を使用するのではなく、HTTPS を使用します。巨大なファイルや多数のファイルを Git LFS でプッシュする場合、HTTPS を使用することをおすすめします。

トップに戻る

最終更新日: 2019 年 1 月 16 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.