Git diff代码比较的高级技巧
16lz
2021-01-25
新的android的项目涉及到android的源码的管理和修改,我们是在android源码基础上做TDSCDMA和GSM的双卡双待功能实现,项目中使用了Git作为版本管理工具,因此借此机会深入研究了Git的原理和使用方法。这里重点说一下Git diff相关的技巧
Git是使用branch来管理不同的功能点开发的,那么我们怎样能比较不同branch的不同呢?
使用 git diff branch1 branch2 , 就可以了, 但这个方法不够直观, 因为只能显示不同点的上下几行,不方便理解。
比较好的做法是使用图形化比较工具比较,例如meld, 使用以下的命令就可以了
git difftool -t meld -y branch1 branch2
这样可以使用meld一个一个文件的比较,每次关闭meld就会自动显示下一个不同的文件。
比较不同的commit,使用以下命令就可以了
git difftool -t meld -y commitId1 commitId2
比较工作区和上次提交的差异,这个最常用了
git difftool -t meld -y HEAD
你可以使用git config命令设置meld为默认的比较工具,并且把prompt设为false,这样以后就可以使用git difftool了。
也可以直接修改 .gitconfig
gedit ~/.gitconfig 在最后加入
[diff]
tool = meld
[difftool]
prompt = false
当然了,如果你不喜欢meld,也可以使用其他的比较工具,git difftool 支持以下的比较工具:
kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,
ecmerge, diffuse, opendiff, p4merge and araxis
更多相关文章
- GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
- Python3原生编写月份计算工具
- 如何在后台运行Linux命令?
- 一款常用的 Squid 日志分析工具
- No.11 使用firewall配置的防火墙策略的生效模式
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- Rexsee API介绍:Android传感器系列之 - 磁场传感器Magnetic Field
- Android(安卓)RIL 调试分析全记录