私のファイルレイアウトはそうです
~/foo/
foo.pl
Foo.pm
~/foo/data
~/foo/data/an_article.txt
~/foo/data/an_article/
~/foo/data/an_article/image.jpg
~/foo/data/an_article/movie.mp4
~/foo/data/another_article.txt
~/foo/data/another_article/
~/foo/data/another_article/audio.mp3
~/foo/data/another_article/raster.nc
もちろん、git
すべてのテキスト ファイル (プログラム、CSS、html テンプレート、拡張子.txtの記事) の変更を追跡したいと考えています。バイナリ ファイルに関しては、最新バージョンのみgit
を追跡したいと考えています。そのため、 movie.mp4を変更すると、そのとに最新バージョンを含める必要がありますが、以前のバージョンは保存しないでください。つまり、バイナリ ファイルを除くすべてのファイルに対して処理を実行したいのですが、バイナリ ファイルの場合は.git
push
pull
git
git
git
rsync
論理
上記のレイアウトから明らかなように、~/foo/data
実際には私のデータ ストアです。すべての記事には、関連するバイナリ ファイルを含む、同じ名前の独自のフォルダーがあります。これにより、関連するすべてのファイルが近接していることが保証されます。バイナリ ファイルをこの構造の外に移動すると、別の展開スクリプト (おそらくrsync
バイナリ ファイルを同期するスクリプト) を作成する必要があるだけでなく、データ ストアの論理構造が破壊されます。
提案?