Git提供了多种方法来帮助您快速查看提交中更改了哪些文件。如果你每天都使用Git,你应该提交相当多的更改。如果你每天和其他人一起在一个项目上使用Git,假设每个人的日常提交都是安全的,你就会意识到Git日志会变得多么混乱,似乎永远滚动着变化,没有任何修改的迹象什么。那么,您如何查看给定提交中文件中发生的更改?这比你想象的要容易。查看提交中文件的更改要查看给定提交中哪些文件已更改,请使用gitlog--raw命令。这是发现哪些文件受到提交影响的最快和最方便的方法。gitlog命令通常没有得到充分利用,主要是因为它有太多的格式化选项,以至于许多用户对许多选项感到气馁,在某些情况下还不清楚文档。但是,Git的日志记录机制非常灵活,--raw选项提供当前分支中提交的日志,以及更改文件的列表。以下是标准的git日志输出:$gitlogcommitfbbbe083aed75b24f2c77b1825ecab10def0953c(HEAD->dev,origin/dev)Author:tuxDate:SunNov521:40:372020+1300exitimmediatelyfromcommitd下载094F9948CD995ACFC331A6965032EA0D38E01F03(ORIANC/MASTER,MASTER)日期:2020年7月31日星期日21:45:24+1200修复帮助消息中的拼写错误即使作者在提交消息中指定更改了哪些文件,日志也非常简洁。这是gitlog--raw输出:$gitlog--rawcommitfbbbe083aed75b24f2c77b1825ecab10def0953c(HEAD->dev,origin/dev)作者:tux日期:SunNov521:40:372020+1300立即退出下载失败:100755100755cbcf1f34cac92fMsrc/example.luacommit094f9948cd995acfc331a6965032ea0d38e01f03(origin/master,master)Author:TuxDate:FriAug502:02export0opts1from20etc/example.conf:1007551007554c815c0cbcf1f3Msrc/example.lua:10075510075571653e18f5d5a6Msrc/example.spec:1006441006449d21a6fe33cabaR100etc/example.confetc/example.conf-defaultcommit76b7b46dc53ec13316abb49cc7b37914215acd47Author:TuxDate:SunJul3121:45:242020+1200fixtypoinhelpmessage:100755100755e253aaf4c815c0Msrc/example.lua这将准确地告诉你哪些文件被添加到提交中,哪些文件被更改(A是添加,M是修改,R是重命名,D是删除)。Gitwhatchangedgitwhatchanged命令是一个遗留命令,它的前身是日志记录功能。文档说用户不应该使用此命令代替gitlog--raw,并暗示它基本上已被弃用。但是,我仍然发现它是获得相同输出的有用快捷方式(尽管不包括合并提交的内容),并且我打算为它创建一个别名,如果它被删除的话。如果您只想查看更改的文件而不想在日志中查看合并提交,请尝试将gitwhachchanged作为简单的助记符。查看变化不仅可以看到哪些文件发生了变化,还可以使用gitlog来显示文件发生了哪些变化。您的Git日志可以使用--patch选项生成内联差异以逐行显示每个文件的所有更改:commit62a2daf8411eccbec0af69e4736a0fcf0a469ab1(HEAD->master)Author:TuxDate:WedMar1006:46:582021+1300commitdiff--gita/hello.txtb/hello.txtindex65a56c3..36a0a7d100644---a/hello.txt+++b/hello.txt@@-1,2+1,2@@Hello-world+opensource.com在此示例中,从hello.txt中删除了“world”行,并添加了“opensource.com”行。如果您需要在其他地方手动进行相同的更改,这些补丁可以与常见的Unix命令一起使用,例如diff和patch。补丁也是总结给定提交中引入新信息的重要部分的好方法。当您在冲刺期间引入错误时,您会发现这是一个有价值的概述。为了更快地找到错误原因,您可以忽略文件中未更改的部分,只检查新代码。使用简单的命令获得复杂的结果您无需了解引用、分支和提交哈希即可查看提交中更改了哪些文件。Git日志旨在向您报告Git活动,如果您想以特定方式对其进行格式化或提取特定信息,通常需要煞费苦心地挖掘大量文档才能将正确的命令组合在一起。幸运的是,最常见的Git历史请求之一只需要一个或两个选项:--raw与--patch。如果你不记得--raw,就想“Git,发生了什么变化?”并输入gitwhatchanged。