
% 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?難道不能簡單地使用 zip 而不是 tar 來創建它們嗎?
如果您使用 git 進行歸檔,您可能會想沒有辦法使用相同的工具來提取歸檔檔案。從手冊頁來看,我們很幸運:
git-get-tar-commit-id(1)
Extract commit ID from an archive created using git-archive.