简介
版本控制系统最常见的应用是查看发生了哪些变化。通过比较代码之间的差异,你可以清楚地了解到代码的改动情况。这在代码审查、团队协作、版本控制等方面都非常有用。
- 代码审查:通过比较代码的差异,可以更方便地进行代码审查。你可以清晰地看到新增、修改和删除的部分,从而更准确地评估代码的质量和合规性。
- 团队协作:在团队协作中,成员之间经常需要共享和讨论代码的改动。通过git比较差异,团队成员可以快速地了解彼此的工作进展,以及代码的改动情况,从而提高协作效率。
- 版本控制:git的差异比较功能还可以用于版本控制。你可以比较不同版本之间的代码差异,以便了解每个版本的变化情况,以及在必要时回滚到某个特定版本。
在 TortoiseGit 中使用“比较差异”功能
TortoiseGit通过比较两个
文件
或者两个
提交
的
差异
(differences)来实现这个功能。
- 对于文本文件,TortoiseGit 提供了名为
TortoiseGitMerge
的内置工具来查看差异; - 对于图像文件,TortoiseGit 提供了名为
TortoiseGitIDiff
的工具。
TortoiseGit 允许你使用第三方查看差异工具,我这里推荐使用
WinMerge
,可以自行到官网下载安装,安装过程中会自动检测 TortoiseGit,并询问你是否替换掉 TortoiseGitMerge 工具。
TortoiseGit 提供多种查看差异的场景,以满足开发过程中的不同需求。
工作区更改
当你修改了工作区文件后,如果想知道对哪些文件进行了改的,改动了什么?对于这种还未提交的修改,可以在
提交日志对话框
中查看。选中仓库,鼠标右击 -
TortoiseGit - Git Show log
,打开提交日志对话框。
在提交日志对话框的顶部窗口,
message
一列中第一条是一个名为
Working tree changes
的虚拟提交,这是 TortoiseGit 自动生成的,表示当前工作区中
已修改
但
未提交
的文件。
单击这个虚拟提交,可以在中部窗口看到一个全部是
0
的 SHA-1 值,显示有 2 个文件变更。在底部窗口中可以看到这两个文件的详细情况。这样就能直观的看到已修改文件的列表,增加和删除的行数统计信息。
如果要查看修改了哪些内容,只需要在底部窗口中
双击
要查看的文件,TortoiseGit 会自动打开合适的查看差异工具,我这里使用的是
WinMerge
:
显示共 1 处差异,并用红色底色突出了差异内容。
与前一次提交版本比较差异
还是在提交日志对话框中操作,在顶部窗口选中某个提交,会在底部窗口显示这个提交更改的文件列表:
双击要查看的文件,这里查看
main.c
文件与上个提交的差异:
可以看出有 2 处差异,图中显示了其中一条差异的详情。
与特定提交版本的差异
还是在提交日志对话框中操作,在顶部窗口选中 2 个提交(先单击选中 1 个提交,然后按住
Ctrl
键,再单击第 2 个提交),鼠标右击 -
Compare revisions
。
这将打开更改文件对话框,在这个对话框中显示这 2 个提交之间的所有更改的文件,双击相应的文件,可以查看两个版本直接的差异。如果文件数目较多,可以使用搜索(Filter paths)功能过滤掉其它文件。
比较不在版本库中的文件
以上比较均在
提交日志对话框
中操作的,这就意味着它们都是被 Git 管理的。如果我想比较的文件一个在 Git 仓库中,一个不在,或者要比较的两个文件都不在 Git 仓库中,TortoiseGit 同样可以比较差异。
首先选中要比较的第 1 个文件,鼠标右击 -
TortoiseGit - Diff later
;
然后选中要比较的第 2 个文件,鼠标右击 -
TortoiseGit - Diff witch "..."
之后,TortoiseGit 会自动启动查看差异工具,显示二者的差异。
读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
版权归原作者 研究是为了理解 所有, 如有侵权,请联系我们删除。