git导出某一次commit修改过的文件

把分支之间有差异的文件打包导出,类似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/

 

你可能感兴趣的:(git导出某一次commit修改过的文件)