不同工具查看代码分支diff的差异

栏目: ASP.NET · 发布时间: 5年前

内容简介:本文只是简单地讲述我自己在使用当使用Emacs时,我更喜欢用

本文只是简单地讲述我自己在使用 GNU EmacsFork ,以及 Visual Studio Code 查看Git仓库的不同分支的diff上的经历。

Emacs

当使用Emacs时,我更喜欢用 M-x package-install 安装的 magit 提供的功能—— magit-diff ,而不是它自带的 vc-dir 。按下 M-x ,输入 magit-diff 并敲下回车后,Emacs会在minibuffer中等待用户输入要比较的分支。就像在 shell 中使用 git-diff 一样,只需要输入两个以 .. 连接的分支名并敲下回车,就可以列出它们间的差异。如下图所示

不同 <a href='https://www.codercto.com/tool.html'>工具</a> 查看代码分支diff的差异

上图是master与re两个分支间的差异。 magit-diff 会列出两个分支间不一致的文件,与直接使用 git-diff 命令没有不同。往下滚动跨过文件清单后,还可以查看单个文件的差异。如下图所示

不同工具查看代码分支diff的差异

Fork

第一次知道Fork是在知乎闲逛的时候,好像是在浏览“Mac下有什么值得推荐的软件”这类问题时看到的。某一次,为了能直观地查看两个commit间的差异,便试用了一番,效果确实不错。Fork的界面如下图所示

不同工具查看代码分支diff的差异

还记得,当时为了能够比较两个commit间的差异,我还在Fork的菜单栏中翻了很久——虽然是毫无收获。结果发现,原来只需要选中两个commit就可以了。如下图所示

不同工具查看代码分支diff的差异

图片两行蓝色的就是我选中的两个commit——先用鼠标点击其一,按住 control 键后再选中另一个即可。图片下方的部分与 magit-diff 差不多,应该也算是一目了然了。

Visual Studio Code

原本我觉得Fork已经足够好了,某一天在用VSCode时才忽然发现,在Fork中显示的代码差异,是没有语法高亮的。通常来说,即使没有语法高亮,查看短小的diff也不成问题。但如果差异的内容很多,或是diff位于一个很长的函数内部,这时光靠diff来做代码审查已经不太够了——因为不好确定在这片diff中出现的变量和函数,到底是不是正确地定义了的。

后来我发现,VSCode自带的“源代码管理”,即便是在查看diff时也是有语法高亮的——不仅有语法高亮,对于Node.js代码而言,还有ESLint的提示和“跳转到定义”的功能,awesome!不愧是全宇宙最好用的编辑器(笑

为了可以用VSCode来查看两个分支间的差异,放狗搜了一下,找到了神器 GitLens

安装GitLens后,VSCode的最左侧会多出一个菜单项,在其中可以方便地选择两个分支来进行比较。首先,找到一个要比较的分支,选择“Select for Compare”。如下图所示

不同工具查看代码分支diff的差异

再选中另一个要比较的分支,右键单击选择“Compare with Selected”,然后便可以在下方看到VSCode罗列出不一致的文件清单了。如下图所示

不同工具查看代码分支diff的差异

VSCode是最吼的!

全文完。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

面向对象分析与设计

面向对象分析与设计

Grady Booch、Robert A. Maksimchuk、Michael W. Engel、Bobbi J. Young、Jim Conallen、Kelli A. Houston / 王海鹏、潘加宇 / 人民邮电出版社 / 2009-8 / 79.00元

《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOA......一起来看看 《面向对象分析与设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器