我知道我可以使用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中的更改感兴趣。我如何检查这些更改(在我提交之前)?
当前回答
你可以使用tig:
Sudo apt安装tig
你只需在控制台输入:tig
你可以有这样的东西,你可以浏览每一行代码的提交和本地更改
其他回答
您可以使用gitk [filename]查看更改日志
您可以使用以下命令查看谁更改了文件中的内容。
Git责备<文件名>
使用如下命令:
git diff file_2.rb
请参阅git diff文档,以获得关于可以获得差异的各种内容的完整信息。
通常,git diff本身会显示整个存储库中的所有更改(而不仅仅是当前目录)。
另一种方法(在这个SO回答中提到)将在终端中保存历史记录,并为您提供文件本身的非常深入的跟踪记录:
Git日志——follow -p——file
这将显示文件的整个历史(包括重命名以外的历史和每次更改的差异)。 换句话说,如果名为bar的文件曾经被命名为foo,那么git log -p bar(没有——follow选项)将只显示文件重命名之前的历史记录——当文件被命名为foo时,它不会显示文件的历史记录。使用git log——follow -p bar将显示文件的整个历史记录,包括当它被称为foo时对文件的任何更改。
你可以使用tig:
Sudo apt安装tig
你只需在控制台输入:tig
你可以有这样的东西,你可以浏览每一行代码的提交和本地更改