我需要创建一个我的Git项目的存档,忽略并省略.gitignore
指定的文件,但包括实际的.git
存储库文件夹。只需运行git archive master
即可省略.git
文件夹。
有没有办法让git archive
包含.git
文件夹,但仍然会忽略.gitignore
指定的文件?
答案 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
完成工作。它不是世界上最美丽的解决方案,但它看起来很有效。