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

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


当前回答

你可以执行

git status -s

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

git diff <filepath + filename>

其他回答

你可以执行

git status -s

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

git diff <filepath + filename>

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

git difftool ./filepath

你可以根据这篇文章来设置你的gui工具: 我如何查看'git diff'输出与一个可视化的diff程序?

若要仅列出特定文件更改的提交细节,

git log --follow file_1.rb

要列出同一文件的不同提交之间的差异,

git log -p file_1.rb

只列出commit和它的消息,

git log --follow --oneline file_1.rb

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

Git责备<文件名>

Git diff文件名

会给你 添加行as + 删除行如下: