7zip は git アーカイブによって作成された tar 形式と互換性がありません

7zip は git アーカイブによって作成された tar 形式と互換性がありません
% 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.

関連情報