サーバーは多くの大容量ファイル(〜0.5-1TB)を処理しています。サーバー上でこれらのファイルのバージョンを追跡するためのより良い方法が必要です。
私の制限的な理解は、これがgit LFSを使用して達成できることです。実際には、ファイルを保存せずに既存のリポジトリを使用します。
Linux(または他のオペレーティングシステム)は、ファイルに最後にアクセスした時点のタイムスタンプを追跡します。しかし、「今日はXYZのためにこのデータを変更しました」(「git commit」に似ています)などの追加情報が必要です。
これはGit LFSの合理的な仕事ですか?それとも普通のGitですか? (また、この状況では他のバージョン追跡ソリューションはありますか?)
答え1
git-annexを使ってみましたか?
https://git-annex.branchable.com/
git-annexを使用すると、gitでファイルの内容を確認することなく、gitを使用してファイルを管理できます。矛盾しているように見えるかもしれませんが、メモリ、時間、またはディスク容量の制約のため、現在のgitが簡単に処理できるよりも大きいファイルを扱うときに便利です。
Git Attachmentは複数のリモートデバイス間のリポジトリを管理でき、各リモートデバイスには異なるモード(クライアント、転送、バックアップ、フルバックアップなど)があります。さらに、Webインターフェイスはより簡単ですが、CLIを頻繁に使用する必要があります。
ファイルの追加を使用したら、git annex add .
ファイルを移動して.git/annex/objects
すべてのファイルをシンボリックリンクに置き換えます。その後、get
それらを個別に(同じコンピュータまたは別のリモートコンピュータで)使用してインポートまたは削除できますdrop
。リポジトリへのコミットは通常のgitリポジトリと同じように機能しますが、git-annexはファイルを処理します。
これは裸のプライベートクラウドストレージソリューションです。