Git存档包括实际的存储库?

时间:2012-07-23 22:47:22

标签: git git-archive

我需要创建一个我的Git项目的存档,忽略并省略.gitignore指定的文件,但包括实际的.git存储库文件夹。只需运行git archive master即可省略.git文件夹。

有没有办法让git archive包含.git文件夹,但仍然会忽略.gitignore指定的文件?

2 个答案:

答案 0 :(得分:6)

由于git archive只生成tar存档,因此您可以直接使用tar处理该文件。

$ git archive HEAD > tar.tar
$ tar -rf tar.tar .git

tar的-r选项将给定的文件附加到正在处理的存档(在-f之后指定)。查看tar的手册页,了解tar所具有的令人生畏的功能列表。

答案 1 :(得分:2)

看起来像做

之类的事情
# copy over all project files except for those ignored
git clone /path/to/repository /path/to/output 
# create a tar.gz archive of the project location
tar czvf projectExport.tar.gz /path/to/output
# remove the cloned directory
rm -fr /path/to/output

完成工作。它不是世界上最美丽的解决方案,但它看起来很有效。