Bitbucket での Git LFS の現在の制限事項
このページでは、Bitbucket で Git LFS を使用する際の以下の制限事項に関する回避策について説明します。
Bitbucket Cloud にプッシュできる LFS のファイル サイズに制限はありません。
リポジトリが譲渡できない
制限事項 | 現在、Git LFS ファイルを含むリポジトリの譲渡は無効化されています。 |
---|---|
説明 | リポジトリの譲渡では、Git LFS ファイルにアクセスするための権限が新しい所有者に付与されないため、リポジトリ内のこれらのファイルへのすべての参照が破損します。さらに、課題やプル リクエストなどの一部のメタデータは、新しいリポジトリに正しく譲渡されません。 ユーザーが最初の LFS ファイルをリポジトリにプッシュすると、そのリポジトリの譲渡は無効化されます。 |
回避策 | リポジトリを譲渡するのではなく、リポジトリのクローンをローカル マシンに作成し、Bitbucket でリポジトリを作成してそこにプッシュします。 このとき、すべてのファイルと Git 履歴は新しいリポジトリで利用可能ですが、課題やプル リクエストなどのメタデータはコピーされません。さらに、新しいリポジトリのユーザーとアクセス権をセットアップする必要があります。 手順は以下のとおりです。
|
リポジトリをフォークする際に Git LFS ファイルがコピーされない
制限事項 | 現在、Git LFS ファイルを含むリポジトリをフォークすると、新しいリモート ストアに LFS ファイルがコピーされません。 |
---|---|
説明 | Git LFS ファイルを含むリポジトリのフォークでは、通常どおり、LFS ポインター ファイルを含むすべてのファイルがフォークにコピーされます。ただし、ポインター ファイルは元のリモート ストアを参照したままで、新しいリポジトリにはそこへのアクセス権がありません。 ユーザーが最初の Git LFS ファイルをリポジトリにプッシュすると、この制限がそのリポジトリのフォークに適用されます。 同じ理由でクロスフォーク プル リクエストが影響を受けることに注意してください。プル リクエストがマージされる際に、LFS ファイルがリモート ストアにコピーされません。 |
回避策 | リポジトリをフォークするときに、以下のようにコマンドラインを使用して Git LFS ファイルを新しいリポジトリにコピーできます。
|
リポジトリ アーカイブに Git LFS ファイルが含まれない
制限事項 | 現在、リポジトリ、タグ、またはブランチのアーカイブをダウンロードした場合に、Git LFS ファイルが含まれません。通常のソース ファイルのほかに、LFS ファイル用のポインター参照ファイルのみが含まれます。これは、アーカイブではフル バックアップが作成されるわけではないことを意味します。 |
---|---|
説明 | Git LFS ポインター ファイルはアーカイブに含まれますが、LFS ファイルは現在追加されません。 ユーザーが最初の LFS ファイルをリポジトリにプッシュすると、そのリポジトリで作成されたアーカイブにこの制限が適用されます。 |
リポジトリでの回避策 | 回避策は、リポジトリのクローンを手動で作成し、ローカルでアーカイブすることです。
これによって、メイン ブランチの先頭にあるファイルのみがアーカイブされることにご注意ください。Git 履歴で参照されたすべての LFS ファイルを取得するには、アーカイブを作成する前に |
ブランチの回避策 | 回避策は、手動でリポジトリのクローンを作成し、ブランチをチェックアウトして、ローカルでアーカイブすることです。
|
タグの回避策 | 回避策は、手動でリポジトリのクローンを作成し、タグをチェックアウトして、ローカルでアーカイブすることです。
|
Git LFS の制限事項を完全に回避する
Git LFS に関する Bitbucket の制限またはそれらの回避策の使用が難しい場合、リポジトリ管理者はリポジトリからすべての Git LFS ファイルを削除し、標準の Git の動作を復元することができます。
手順や注意点については、「既存の Bitbucket リポジトリで Git LFS を使用する」を参照してください。
Bitbucket Cloud では Git LFS ロックはサポートされません
現在、Bitbucket Cloud は Git LFS ロック機能をサポートしていません。最新の機能リクエストへの投票やフィードバックの詳細については、「Git LFS (v2.x) ファイル ロックのサポート」を参照してください。