26

Git Large File Storage の使用に関する混乱を誰かが解決できるかどうか疑問に思っていました。

新しいリポジトリを作成するときに、特定のファイルを で追跡する方法は知ってgit lfs trackいますが、それらのファイルを保存する場所をどのように指定しますか?

たとえば、私が取り組んでいるプロジェクトには、いくつかの png ファイルと wav ファイルがあります。これらは を使用して追跡されてgit lfs trackいます。Git LFS の Web サイトには、それらはリモート サーバーに保存されていると書かれていますが、その情報がリポジトリのどこにあるのかわかりません。

さらに、2 番目のユーザーがレポを複製すると、プロジェクトには LFS オブジェクトへのポインターのみが含まれます。実際のファイルが保存されているリモートの URL をどのように見つけて使用できますか?

(リポジトリには Bitbucket とローカル システム git を使用しています。)

4

3 に答える 3

10

Git Lfs の Web サイトには、リモート サーバーに保存されていると書かれていますが、その情報がリポジトリのどこにあるのかわかりません。

少なくとも技術的な意味では、それらはリポジトリに保存されません。git-lfs は、リポジトリのピアである 2 番目の領域である大きなファイル ストレージ領域を追加します。大きなファイルはそこに保存されます。

私は、BitBucket がこの情報を Web サイトで意味のある方法で提示することを期待していました。

さらに、2 番目のユーザーがレポを複製すると、プロジェクトには LFS オブジェクトへのポインターのみが含まれます。

git-lfs をインストールする必要があります。これは、大きなファイル コンテンツのダウンロードとアップロードを担当するプログラムです。

于 2015-10-04T08:02:32.743 に答える
3

Git-LFS ストレージ サーバーは、lfs.urlプロパティによって指定されます。次に例を示します。

git config lfs.url https://github.com/foo/bar.git/info/lfs

デフォルト (lfs.urlが設定されていない場合) では、次のようなヒューリスティックを使用して、リモートの URL から Git-LFS サーバーの URL を取得します。git@github.com:foo/bar.git -> https://github.com/foo/bar.git/info/lfs

次のコマンドを使用して、各リモートの現在のサーバーを表示できます。

git lfs env | grep Endpoint

注: 現在の git-lfs (2.13.3) は、HTTP/HTTPS およびfile://エンドポイント プロトコルのみをサポートしているため、たとえば、SSH 経由で LFS オブジェクトをリモート クローンにプッシュすることはできません。回避策は、リモート リポジトリをマウントしsshfsて使用することfile://です。

于 2021-04-29T17:27:40.227 に答える