Может ли архив git включать каталог, в котором находится проект.git?
Может ли архив git включать каталог, в котором находится проект.git?
Например, скажем, моя структура каталогов выглядит следующим образом:
-- /my-project-dir
----- /.git
----- /css
----- index.html
----- scripts.js
По умолчанию, когда я делаю git-архив, я получаю ZIP-файл примерно так:
-- my-project-dir.zip
----- /css
----- index.html
----- scripts.js
Мне интересно, есть ли способ, которым archive
Команда может также включать родительский каталог, например:
-- my-project-dir.zip
----- /my-project-dir
-------- /css
-------- index.html
-------- scripts.js
1 ответ
Решение
Использовать --prefix
опция:
$ pwd
/tmp/foo
$ ls -A
bar .git
$ git archive --prefix foo/ -o foo.tar master
$ tar tf foo.tar
foo/
foo/bar
Будьте осторожны, чтобы включить косую черту в foo/
иначе вы получите префикс, добавленный к каждому имени файла!