
% git archive --format tar master > archive.tar
% file archive.tar
archive.tar: POSIX tar archive
% tar cf a.tar archive.tar
% file a.tar
a.tar: POSIX tar archive (GNU)
7zip は、「git archive」によって作成された tar アーカイブを解凍できません。どうやらいくつか違いがあるようです。
私が質問する理由は、Windows で git から tar アーカイブを解凍できるようにしたいのですが、7zip は優れたユーティリティです。(git によって作成された tar アーカイブを解凍して GNU tar でパックする以外に) フラグや回避策はありますか。
答え1
git-archive
は PAX tar アーカイブのみを作成します。7-Zip は PAX tar アーカイブを読み取ることができません。 で別の形式を使用するかgit-archive
、 で作成されたアーカイブを後処理して で再圧縮するtar
か、Windows で別のツールを使用してください。
答え2
$: git archive --list
tar
tgz
tar.gz
zip
利用可能なアーカイブ リストに zip が表示されていますか? tar ではなく zip を使用して作成するだけではだめですか?
アーカイブ作成に Git を使用している場合、同じツールを使用してアーカイブを抽出する方法がないことに疑問を感じるかもしれません。幸運なことに、man ページにはその方法があります。
git-get-tar-commit-id(1)
Extract commit ID from an archive created using git-archive.