git学习小计(一)

工作需要从SVN迁移到Git上来,之前已经无数次听说Git的强大了,但不深入了解学习,别人眼中的无比强大在我看来只能是雾里看花,抓不到精髓,所以从今天开始认真的学习分析下git的使用,分享点自己学习过程中的小心得。

先来看看Linus特别推崇的diff和patch。这两个工具并不是Git中独有的,甚至远远早于Git。

1、用diff命令比较两个文件或目录的差异

现在有两个文件        test1.java      test2.java,执行命令:  

diff -u test1.java test2.java > diff.txt

上面执行的diff命令中的-u参数很重要,使得差异输出中带有上下文。diff.txt中即保存有test1.txt和test2.txt的差异比较结果。

2、patch相当于diff的反向操作

有了test1.java和diff.txt文件,则当test2.java进行过一定修改甚至删除时,想恢复test2.txt,则可用下面的命令来还原test2.java:

patch test2.java < diff.txt

当test1.java进行过修改或者删除后,想恢复时,可以:

 patch -R test1.java < diff.txt

命令diff和patch还可以对目录进行比较操作。但是diff是行比较的,及时改正了一个字,也显示为一整行的修改。Git对diff进行了扩展,提供了一种在一行内逐词比较的差异比较方法,同时原生的diff不能对二进制文件进行处理,Git也扩展支持了此功能。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值