我知道我可以使用git diff命令来检查更改,但是,据我所知,它是基于目录的。这意味着它给出当前目录中所有文件的所有更改。
如何只检查一个特定文件中的更改?比如说,我已经修改了文件file_1。rb, file_2。rb,……, file_N。rb,但是我只对文件file_2.rb中的更改感兴趣。我如何检查这些更改(在我提交之前)?
我知道我可以使用git diff命令来检查更改,但是,据我所知,它是基于目录的。这意味着它给出当前目录中所有文件的所有更改。
如何只检查一个特定文件中的更改?比如说,我已经修改了文件file_1。rb, file_2。rb,……, file_N。rb,但是我只对文件file_2.rb中的更改感兴趣。我如何检查这些更改(在我提交之前)?
当前回答
或者如果你喜欢使用自己的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
您可以使用gitk [filename]查看更改日志
Git diff文件名
会给你 添加行as + 删除行如下:
完全同意greg Hewgill的观点
如果你的路径包含空格,你可以尝试添加撇号' or '
MyProject/My Folder/My Sub Folder/file_2.rb
使用如下命令:
git diff file_2.rb
请参阅git diff文档,以获得关于可以获得差异的各种内容的完整信息。
通常,git diff本身会显示整个存储库中的所有更改(而不仅仅是当前目录)。