前言

有时候我们需要把项目的源代码发给别人,但是直接压缩会把一些编译产生的中间文件,缓存等等都压缩进去。

这就会导致压缩包很大,并且这些文件其实也没有必要。

还有一种情况是有些文件比较敏感不应该压缩进去,就需要过滤掉。

如果每次都这么干,那么流程就会很漫长。

虽然添加过滤可以解决这些问题,但是都挺麻烦的,我经过一番实验发现了一个极为简单的方法。

git 压缩

这个简单的方法就是使用 git 自带的压缩,不调查一下都不知道 git 居然有这个功能。

来直接看一下如何使用

1
git archive --format=zip -o xxx.zip HEAD

其中 archive 表示要对 git 仓库进行归档

--format 指定了格式,可以是 tarzip ,默认是 tar

-o 表示压缩后的文件名

最后的 HEAD 表示要压缩哪个记录,可以是分支、标签、commit hash

总结

如果你想压缩一个 git 仓库,可以试试 git archive ,绝对比使用 zip 加一堆过滤规则好用。

它会忽略 .gitignore 中的文件,这样就能够保证你压缩的是你想要的。