Git导出两个版本之间的差异文件并打包发布服务器

Git导出两个版本之间的差异文件并打包发布服务器 1.查看版本

$ git log --pretty=oneline

2.差异文件并打包 发布代码的时候可以通过以下命令,导出最后一次提交修改过的文件,导出从其他分支合并过来的代码
git archive -o ../update.zip HEAD $(git diff --name-only HEAD^)


如果需要发布几个git版本的代码,可以通过以下命令导出指定提交id之间修改的文件
git archive -o ../update.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)

【Git导出两个版本之间的差异文件并打包发布服务器】或者(推荐),linux有提供一个命令xargs能将前一个命令的输出转成另外一个命令的参数,按照这个思路就可以用如下命令。
git diff --name-only OLD_COMMIT_ID_HERENEW_COMMIT_ID_HERE | xargs tar -zcvf ../update.tar.gz

git diff --name-only OLD_COMMIT_ID_HERENEW_COMMIT_ID_HERE| xargs zip update.zip

OLD_COMMIT_ID_HERE这个是老的版本号
NEW_COMMIT_ID_HERE这个是要发不到那个版本的版本号

    推荐阅读