そのために、GITを使用しようとしています。
gitリポジトリのすべての変更を自動コミットし、最後のものを除くすべての履歴リビジョンを削除する.shスクリプト(Linuxの下)を開発しようとしています。リポジトリは、最後のコミット データのみを保持し、以前の履歴をすべて消去する必要があります (すべてのデータが失われます)。
たとえば、次の 3 つのファイルをコミットします。
- ファイル 1: 12 MB;
- ファイル 2: 4 MB;
- ファイル 3: 12 KB。
コミット後、私の .git フォルダーのサイズは約 25 MB です。
ここで、file1 と file2 を削除します。
次回のコミット後、私の作業コピーは 12 KB で、.git フォルダーは 25 MB です。
可能な限り最小の .git フォルダーを取得するために、リポジトリ内のすべてのデータをフラッシュ (データを失う) したいと考えています。
問題は、cron スクリプトを実行する必要があるため、ONE SINGLE NON-INTERACTIVE COMMAND LINE でそれを行う必要があることです。
何時間もフォーラムを閲覧していますが、この質問に対する解決策が見つかりません。
本当の問題は、双方向の高速ファイル同期をどのようにセットアップするかということです。同期するフォルダーが大きい (数千のファイルで 20 GB)。最初の同期は非常に遅くなりますが、問題はありませんが、2 回目の同期はより高速で、変更されたファイルのみを比較して 30 ~ 40 秒以内です...
助けてくれてありがとう。