git查看历史两个版本修改过的全部文件对比

引言

工作时常用的历史版本对比命令为

git difftool

但是使用这种方式来查看差异的缺点也很明显,每次只能查看一个文件的差异

下面将提供两种方式来进行修改过的全部文件对比,当然使用这两个方法的前提是已经配置好了meld这一对比工具。

方法一

mkdir -p ~/temp_diff/version1 ~/temp_diff/version2    //创建两个存放版本文件的文件夹
git archive 哈希值1 | tar -x -C ~/temp_diff/version1    //导出第一个版本
git archive 哈希值2 | tar -x -C ~/temp_diff/version2    //导出第二个版本
meld ~/temp_diff/version1 ~/temp_diff/version2        //使用meld比较两个版本

其中哈希值取前7个字符即可,不过复制粘贴的话也不费事。

以上为Linux环境下的操作,如果想要在Windows环境下进行类似操作,可以用git bash输入以下命令:

mkdir -p "C:/work_file/temp_diff/version1" "C:/work_file/temp_diff/version2"
git archive 哈希值1 | tar -x -C "C:/work_file/temp_diff/version1"
git archive 哈希值2 | tar -x -C "C:/work_file/temp_diff/version2"
meld "C:/work_file/temp_diff/version1" "C:/work_file/temp_diff/version2"

这个方法的优点是能将历史的版本给导出来,包括未进行修改的文件,方便运行工程查看效果。

方法二(这个方法是我同事发现的)

git difftool --dir-diff 哈希值1 哈希值2

在Linux环境下,这个方法是在“/tmp”文件夹下生成一个临时文件,用于存放两个版本间出现修改的文件,当叉掉meld后,暂存文件也会被清除,如果无法清除则使用一下命令:

git config --global difftool.meld.cleanup true

相比于第一个方法,这个方法的优点是输入的命令行较少,且显示出来的界面也很简洁,但无法直接运行这一版本的工程查看效果。

这第二个方法我未在Windows环境下试验过,效果未知,需要的话读者自行试验。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值