我需要创建我的 Git 项目的存档,忽略并遗漏由 指定的文件.gitignore
,但包括实际的.git
存储库文件夹。简单地运行git archive master
会留下.git
文件夹。
有没有办法让git archive
包含.git
文件夹但仍然忽略指定的文件.gitignore
?
我需要创建我的 Git 项目的存档,忽略并遗漏由 指定的文件.gitignore
,但包括实际的.git
存储库文件夹。简单地运行git archive master
会留下.git
文件夹。
有没有办法让git archive
包含.git
文件夹但仍然忽略指定的文件.gitignore
?
由于git archive
只生成一个 tar 存档,因此您可以tar
直接使用该文件。
$ git archive HEAD > tar.tar
$ tar -rf tar.tar .git
tar 的-r
选项将给定的文件附加到正在处理的档案中(在 之后指定-f
)。检查 tar 的手册页以获取 tar 具有的令人生畏的功能列表。
看起来像做类似的事情
# 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
完成工作。这不是世界上最漂亮的解决方案,但它看起来很有效。