7

我需要创建我的 Git 项目的存档,忽略并遗漏由 指定的文件.gitignore,但包括实际的.git存储库文件夹。简单地运行git archive master会留下.git文件夹。

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

4

2 回答 2

12

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

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

tar 的-r选项将给定的文件附加到正在处理的档案中(在 之后指定-f)。检查 tar 的手册页以获取 tar 具有的令人生畏的功能列表。

于 2012-07-23T22:56:18.263 回答
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

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

于 2012-07-24T00:18:01.673 回答