git存档可以包含.git项目所在的目录吗?

Pet*_*ete 4 git git-archive

git存档可以包含.git项目所在的目录吗?

例如,假设我的目录结构如下:

-- /my-project-dir
----- /.git
----- /css
----- index.html
----- scripts.js
Run Code Online (Sandbox Code Playgroud)

默认情况下,当我执行git存档时,我最终得到一个ZIP文件,如下所示:

-- my-project-dir.zip
----- /css
----- index.html
----- scripts.js
Run Code Online (Sandbox Code Playgroud)

我想知道archive命令是否也可以包含父目录,例如:

-- my-project-dir.zip
----- /my-project-dir
-------- /css
-------- index.html
-------- scripts.js
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 10

使用--prefix选项:

$ pwd
/tmp/foo
$ ls -A
bar  .git
$ git archive --prefix foo/ -o foo.tar master
$ tar tf foo.tar
foo/
foo/bar
Run Code Online (Sandbox Code Playgroud)

小心包含尾部斜杠foo/,否则最终会在每个文件名前加上前缀!