Git:获取本次commit的新旧差异文件的压缩包

原创 2018年04月15日 19:46:20

目前各大通信公司都在逐渐用Git工具替换SVN来管理版本代码。通常开发人员提交代码之后,需要审核通过才能入库。为了便于审核人员review修改代码,一般需要提供本次commit的新旧差异文件的压缩包。

下面将提供一种获取差异文档的方法:


# 获取本次提交的commit id 和 修改(或增删)文件列表

COMMIT_ID=`git rev-parse HEAD`
DIFF_FILES=`git diff HEAD HEAD^ --name-only`

# 获取本次提交修改之后的新文件
mkdir -p diff_files/new
cp -rf $(echo ${DIFF_FILES}) diff_files/new

# 获取本次提交修改之前的旧文件,通过reset到上一次提交来实现

mkdir -p diff_files/old
git reset --hard HEAD^
cp -rf $(echo ${DIFF_FILES}) diff_files/old

# 恢复Git本地副本
git cherry-pick ${COMMIT_ID}

# 生成最终的压缩文件diff_files.zip,并删除中间文件
zip -r diff_files.zip diff_files/
rm -rf diff_files



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hanlizhong85/article/details/79952095

如何使用git比较两次commit之间的差异文件

如何使用git比较两次commit之间的差异文件 有时候需要查看两次提交之间的差异。 只需下面几个步骤即可。 1.git log  查看提交历史 如下: commit 5dab4a9555...
  • u012830148
  • u012830148
  • 2017-08-23 09:21:10
  • 2546

从git里面提取两个commit之间变更过的文件

git archive --format=zip HEAD `git diff --name-only 8bbf69c253801228ff504ab080ce7cf44a924971 a27d045...
  • alexwang1983
  • alexwang1983
  • 2016-03-30 15:00:56
  • 1541

Git的提交与查看差异

本文转载于:http://blog.csdn.net/crylearner/article/details/7685158 代码提交 代码提交一般有五个步骤: 1.查看目前代码的修改状态...
  • wj123446
  • wj123446
  • 2016-10-11 18:41:09
  • 4719

[小技巧] git 取得两个 tag 之间的 commit

参考:http://stackoverflow.com/questions/5863426/get-commit-list-between-tags-in-git git log --pre...
  • robertsong2004
  • robertsong2004
  • 2015-07-15 14:47:00
  • 6297

如何在git导出分支之间差异文件的压缩包,类似svn的导出变化文件功能

导出fedoc.zip压缩包,其内容为test与master分支对比发生变化的内容 git archive test $(git diff master --name-only)|gzip >fedo...
  • terrychinaz
  • terrychinaz
  • 2017-04-21 11:42:29
  • 762

git:将某个commit或其中某个文件修改提取出来

git:将某个commit或其中某个文件修改提取出来
  • NetMicrobe
  • NetMicrobe
  • 2015-12-31 12:00:40
  • 3477

git提取出两个版本之间的差异文件并打包命令

$ git diff 608e120 4abe32e --name-only | xargs zip update.zip
  • zhu3503302
  • zhu3503302
  • 2017-05-26 15:38:08
  • 347

jgit比较项目不同版本间的差异及统计代码总行数

通过比较git项目两个版本,找出变动的代码,并统计代码的增量和减量
  • u012621115
  • u012621115
  • 2016-08-10 15:10:09
  • 2160

git commit id相关操作收藏

1 git clone指定commit id的版本git clone -b branch git@github/$username/$project.gitgit checkout commitid2...
  • liliang199
  • liliang199
  • 2018-02-02 11:03:40
  • 92

git使用点滴:如何查看commit的内容

在push之前有时候会不放心是不是忘记加某些文件,或者是不是多删了个什么东西,这时候希望能够看看上次commit都做了些什么。 一开始想到的是用git diff,但是git diff用于当前修改尚未...
  • wisgood
  • wisgood
  • 2014-12-04 14:54:40
  • 12568
收藏助手
不良信息举报
您举报文章:Git:获取本次commit的新旧差异文件的压缩包
举报原因:
原因补充:

(最多只允许输入30个字)