把分支之间有差异的文件打包导出,类似svn的导出变化文件功能。
如,导出fedoc.zip压缩包,其内容为test与master分支对比发生变化的内容:
git archive test $(git diff master --name-only)|gzip >1.zip(执行指令时应在test分支)
注意:只适合修改的文件,如果文件有增删就会有问题。
导出某两次提交之间的差异文件
比如某次提交与当前checkout出来的HEAD之间的差异都打印出来:
git diff --name-only aee3668 HEAD
结合xargs命令压缩
git diff --name-only aee3668 HEAD | xargs tar -zcvf 1.tar.gz
只包含某些目录
git diff --name-only aee3668 HEAD -- /H5/ ':!spec'
git diff --name-only aee3668 HEAD -X /H5/