1
% 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).

2 ответа2

2

git-archive создает только tar-архивы PAX, а 7-Zip не способен читать tar-архивы PAX. Либо используйте другой формат с git-archive , постобработайте архивы, созданные для повторного сжатия, используя tar , либо используйте другой инструмент под Windows.

0
$: git archive --list
tar
tgz
tar.gz
zip

Вы получили почтовый индекс в списке доступных архивов? Не могли бы вы просто использовать zip вместо tar для их создания?

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .