Как я могу архивировать произвольную ветку? - PullRequest
8 голосов
/ 26 мая 2010
git checkout master
git archive stage | tar -czf archive.tar.gz htdocs
# archives master because it's checked out.

Как мне архивировать ветку сцены, независимо от того, на каком я токе?

1 Ответ

15 голосов
/ 26 мая 2010

git archive создает tar-архив, поэтому вам не нужно передавать его выходной tar, на самом деле он не выполняет то, что вы ожидаете. Вы создаете архив tar для ветви stage и передаете его обычной команде tar, которая не использует стандартный ввод, а просто создает свой собственный архив htdocs в рабочем дереве независимо от git.

Попробуйте:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...