7zip несовместим с форматом tar, созданным архивом git

7zip несовместим с форматом tar, созданным архивом git
% 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 не может распаковать архив tar, созданный "git archive". Видимо, есть какие-то различия.

Причина, по которой я спрашиваю, в том, что я хотел бы иметь возможность распаковывать архив tar из git на Windows, а 7zip — отличная утилита. Есть ли какой-нибудь флаг/обходной путь (кроме распаковки архива tar, созданного git, и упаковки его с помощью 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 в списке доступных архивов? Разве вы не могли бы просто использовать zip вместо tar для их создания?

Если вы используете git для архивирования, вы можете удивиться, что нет способа извлечь архив с помощью того же инструмента. Нам повезло, так как есть, из man-страниц:

git-get-tar-commit-id(1)
       Extract commit ID from an archive created using git-archive.

Связанный контент