如何查看Git提交中发生了什么变化
如何查看Git提交中发生了什么变化
这篇文章主要讲解了“如何查看Git提交中发生了什么变化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何查看Git提交中发生了什么变化”吧!
查看提交中文件发生的变化
要想知道指定提交中哪些文件发生变化,可以使用 git log --raw
命令。这是发现一个提交影响了哪些文件的最快速、最方便的方法。git log
命令一般都没有被充分利用,主要是因为它有太多的格式化选项,许多用户在面对很多选择以及在一些情况下不明所以的文档时,会望而却步。
然而,Git 的日志机制非常灵活,--raw
选项提供了当前分支中的提交日志,以及更改的文件列表。
以下是标准的 git log
输出:
$ git logcommit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)Author: tux <tux@example.com>Date: Sun Nov 5 21:40:37 2020 +1300 exit immediately from failed download commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)Author: Tux <tux@example.com>Date: Fri Aug 5 02:05:19 2020 +1200 export makeopts from etc/example.conf commit 76b7b46dc53ec13316abb49cc7b37914215acd47Author: Tux <tux@example.com>Date: Sun Jul 31 21:45:24 2020 +1200 fix typo in help message
即使作者在提交消息中指定了哪些文件发生变化,日志也相当简洁。
以下是 git log --raw
输出:
$ git log --rawcommit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)Author: tux <tux@example.com>Date: Sun Nov 5 21:40:37 2020 +1300 exit immediately from failed download :100755 100755 cbcf1f3 4cac92f M src/example.lua commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)Author: Tux <tux@example.com>Date: Fri Aug 5 02:05:19 2020 +1200 export makeopts from etc/example.conf :100755 100755 4c815c0 cbcf1f3 M src/example.lua:100755 100755 71653e1 8f5d5a6 M src/example.spec:100644 100644 9d21a6f e33caba R100 etc/example.conf etc/example.conf-default commit 76b7b46dc53ec13316abb49cc7b37914215acd47Author: Tux <tux@example.com>Date: Sun Jul 31 21:45:24 2020 +1200 fix typo in help message :100755 100755 e253aaf 4c815c0 M src/example.lua
这会准确告诉你哪个文件被添加到提交中,哪些文件发生改变(A
是添加,M
是修改,R
是重命名,D
是删除)。
Git whatchanged
git whatchanged
命令是一个遗留命令,它的前身是日志功能。文档说用户不应该用该命令替代 git log --raw
,并且暗示它实质上已经被废弃了。不过,我还是觉得它是一个很有用的捷径,可以得到同样的输出结果(尽管合并提交的内容不包括在内),如果它被删除的话,我打算为它创建一个别名。如果你只想查看已更改的文件,不想在日志中看到合并提交,可以尝试 git whatchanged
作为简单的助记符。
查看变化
你不仅可以看到哪些文件发生更改,还可以使用 git log
显示文件中发生了哪些变化。你的 Git 日志可以生成一个内联差异,用 --patch
选项可以逐行显示每个文件的所有更改:
commit 62a2daf8411eccbec0af69e4736a0fcf0a469ab1 (HEAD -> master)Author: Tux <Tux@example.com>Date: Wed Mar 10 06:46:58 2021 +1300 commit diff --git a/hello.txt b/hello.txtindex 65a56c3..36a0a7d 100644--- a/hello.txt+++ b/hello.txt@@ -1,2 +1,2 @@ Hello-world+opensource.com
在这个例子中,“world” 这行字从 hello.txt
中删掉,“opensource.com” 这行字则添加进去。
如果你需要在其他地方手动进行相同的修改,这些可以与常见的 Unix 命令一起使用,例如 diff 与 patch。补丁也是一个好方法,可以总结指定提交中引入新信息的重要部分内容。当你在冲刺阶段引入一个 bug 时,你会发现这里的内容就是非常有价值的概述。为了更快地找到错误的原因,你可以忽略文件中没有更改的部分,只检查新代码。
用简单命令得到复杂的结果
你不必理解引用、分支和提交哈希,就可以查看提交中更改了哪些文件。你的 Git 日志旨在向你报告 Git 的活动,如果你想以特定方式格式化它或者提取特定的信息,通常需要费力地浏览许多文档来组合出正确的命令。幸运的是,关于 Git 历史记录最常用的请求之一只需要一两个选项:--raw
与 --patch
。如果你不记得 --raw
,就想想“Git,什么改变了?”,然后输入 git whatchanged
。
感谢各位的阅读,以上就是“如何查看Git提交中发生了什么变化”的内容了,经过本文的学习后,相信大家对如何查看Git提交中发生了什么变化这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是高防服务器网,小编将为大家推送更多相关知识点的文章,欢迎关注!
[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。
[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[