使用git查看对特定文件的更改

余生颓废 提交于 2020-02-26 22:58:02

我知道我可以使用git diff命令来检查更改,但据我所知,它是基于目录的。 这意味着它提供了当前目录中所有文件的所有更改。

如何仅检查一个特定文件中的更改? 说,我已经更改了文件file_1.rbfile_2.rb ,..., file_N.rb ,但我只对文件file_2.rb中的更改file_2.rb 。 我如何检查这些更改(在我提交之前)?


#1楼

您可以使用gitk [filename]查看更改日志


#2楼

你可以执行

git status -s

这将显示已修改的文件名,然后通过复制感兴趣的文件路径,您可以使用git diff查看更改

git diff <filepath + filename>

#3楼

或者如果您更喜欢使用自己的gui工具:

git difftool ./filepath

您可以在此帖子的指导下设置gui工具: 如何使用visual diff程序查看'git diff'输出?


#4楼

另一种方法(在本SO答案中提到)将保留终端中的历史记录,并为您提供文件本身的非常深入的记录:

git log --follow -p -- file

这将显示文件的整个历史记录(包括重命名以外的历史记录以及每次更改的差异)。

换句话说,如果名为bar的文件曾被命名为foo,那么git log -p bar(不带--follow选项)将只显示文件的历史记录,直到它被重命名为止 - 它不会显示文件的历史,当它被称为foo。 使用git log --follow -p bar将显示文件的整个历史记录,包括文件被称为foo时的任何更改。


#5楼

您可以使用以下命令查看谁更改了文件中的内容。

git blame <filename>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!