比较文件差异

1. git diff

git diff <文件名> 可以对比工作区和最近的存档之间的区别。简单来说,就是「看一看自上次存档以来,你对这个文件干了啥」?

不过,git diff,只在终端里显示并不够直观,即便是熟悉 Git 的人一般在有条件的情况都不会用 git diff 命令看最原始的效果图,而是去用其它办法、其它工具。

2. git difftool

git difftool 命令是 git diff 命令的升级版,它是调用第三方工具来进行比较。这些可用作比较的第三方工具中,早期比较著名的软件有 Beyond Compare 。现在,随着 VS Code 的流行,越来越多的人使用 VS Code 作为 这个第三方工具。

在你的 C:\Users\<用户名>\.gitconfig 文件中追加下述内容,将 VS Code 设置为 Git 的 difftool( 和 mergetool )

[diff]
  tool = vscode
[difftool "vscode"]
  cmd = code --wait --diff $LOCAL $REMOTE
[merge]
  tool = vscode
[mergetool "vscode"]
  keepbackup = false
  cmd = code --wait $MERGED
  trustexitcode = true

了解

有些资料和文档上是通过命令来进行设置的,其实 git 的设置命令本质上也就是在向 .gitconfig 配置文件中写入配置项。所以,你是通过配置命令进行配置,还是直截了当地修改 .gitconfig 配置文件,本质上是一样的。

当你再使用 git difftool <文件名> 来查看文件的变动情况时,git 会触发 VS Code 的执行,让 VS Code 来展示工作区和本地仓库中的区别。

虽然 GitKraken 中也内置了 diff 功能,能以图形化的形式展现工作区的变动,不过你也可以在 GitKraken 中触发 VS Code 的执行:

git-difftool-VSCode

Last Updated:
Contributors: hemiao