1

私のファイルレイアウトはそうです

~/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 pushpullgitgitgitrsync

論理

上記のレイアウトから明らかなように、~/foo/data実際には私のデータ ストアです。すべての記事には、関連するバイナリ ファイルを含む、同じ名前の独自のフォルダーがあります。これにより、関連するすべてのファイルが近接していることが保証されます。バイナリ ファイルをこの構造の外に移動すると、別の展開スクリプト (おそらくrsyncバイナリ ファイルを同期するスクリプト) を作成する必要があるだけでなく、データ ストアの論理構造が破壊されます。

提案?

4

3 に答える 3

1

上記のレイアウトから明らかなように、~/foo/data は実際には私のデータ ストアです。

git ベースのデータ ストアについては、git annex を参照してください: http://git-annex.branchable.com/

git: no such thingから履歴を消去するには、上記の Bruno Reis の説明を参照してください。

于 2013-07-04T14:48:40.037 に答える