我需要创建我的 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
完成工作。这不是世界上最漂亮的解决方案,但它看起来很有效。