git checkout master
git archive stage | tar -czf archive.tar.gz htdocs
# archives master because it's checked out.
Как архивировать ветвь сцены, независимо от того, в какое время я нахожусь?Как я могу архивировать произвольную ветку?
git checkout master
git archive stage | tar -czf archive.tar.gz htdocs
# archives master because it's checked out.
Как архивировать ветвь сцены, независимо от того, в какое время я нахожусь?Как я могу архивировать произвольную ветку?
git archive создает tar-архив, поэтому вам не нужно передавать его выходной tar, действительно, он не делает то, что вы ожидаете. Вы создаете tar-архив ветви сцены и соединяете его с обычной командой tar, которая не использует свой стандартный ввод, но создает собственный архив htdocs
в рабочем дереве, независимо от git.
Try:
git archive stage >stage.tar
или для сжатого архива:
git archive stage | gzip >stage.tar.gz
просто заархивировать HTDOCS вложенную вы можете сделать:
git archive stage:htdocs | gzip >stage-htdocs.tar.gz
или, чтобы включить папку наименование: в архиве:
git archive --prefix=htdocs/ stage:htdocs | gzip >stage-htdocs.tar.gz
или более просто:
git archive stage htdocs | gzip >stage-htdocs.tar.gz
Это последнее будет архивировать корень дерева коммита и префикс каждого путь к файлу с 'HTDOCS /' (например, 'htdocs/rootfile.c',' htdocs/sub/file.pl' и 'htdocs/htdocs/htdocfile.html'). Он должен либо указать tree-ish 'stage: htdocs' (к которому добавлен префикс), либо вы можете просто использовать« git archive stage htdocs ». –
@ Chris Johnsen: Спасибо, на самом деле это была ошибка копирования и вставки; Я имел в виду, что это вариант предыдущей команды. –