git archive可以包含.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
答案 0 :(得分:7)
使用--prefix
选项:
$ pwd
/tmp/foo
$ ls -A
bar .git
$ git archive --prefix foo/ -o foo.tar master
$ tar tf foo.tar
foo/
foo/bar
请注意在foo/
中包含尾部斜杠,否则您最终会在每个文件名前加上前缀!