git-cache-meta
SO の質問で言及されている「git - ファイルのアクセス許可を回復する方法 git は、ファイルがあるべきだと考えていますか?」 (および git FAQ) は、より率直なアプローチです。
アイデアは、 .git_cache_meta
に格納することです ファイルとディレクトリのパーミッションをファイルします。
Git リポジトリで直接バージョン管理されていない別のファイルです。
そのため、使用方法は次のとおりです:
$ git bundle create mybundle.bdl master; git-cache-meta --store
$ scp mybundle.bdl .git_cache_meta machine2:
#then on machine2:
$ git init; git pull mybundle.bdl master; git-cache-meta --apply
だからあなた:
- リポジトリをバンドルし、関連するファイルのアクセス許可を保存します。
- これら 2 つのファイルをリモート サーバーにコピーします
- そこにリポジトリを復元し、パーミッションを適用します
Git は、ソフトウェア開発用に作成されたバージョン管理システムであるため、モードとアクセス許可のセット全体から、実行可能ビット (通常のファイルの場合) とシンボリックリンク ビットのみが保存されます。完全なアクセス許可を保存する場合は、git-cache-meta
などのサード パーティ ツールが必要です。 (VonC が言及)、または Metastore (etckeeper が使用)。または、IIRC が git をバックエンドとして使用する IsiSetup を使用することもできます。
Git Wiki のインターフェース、フロントエンド、およびツールのページを参照してください。