Gar*_*ary 2 git diff command-line sha1 commit
在Git中,是否可以在不指定提交的情况下查看文件的最新差异?
例如,我有一个名为的文件hello.js.它最后修改了两次提交之前.我可以执行以下操作来查看这些更改:( git diff a1b2c3^ hello.js请注意插入符号,以指示"上一个"差异).
但有没有办法做同样的事情,但没有指定提交?像git diff hello.js^例如?我知道我可以通过执行来获取文件的最后一次提交git log hello.js,然后查看签名的顶级提交.但我想知道是否有更快的方法来做这一切.
或者这是不可能的,因为Git无法查看上次对文件进行更改而未指定提交?
有几个(当然,这是混帐:可能很多:-))方法可以做到这一点,但我觉得这个是最简单的:使用git log和依靠什么混帐电话"的历史简单化"(见该git rev-list文件的详细信息).
例如:
git log -n 1 -p -- hello.js
Run Code Online (Sandbox Code Playgroud)
将向您展示第一个提交:
HEAD,和hello.js并显示它的差异(-p).您可以使用--pretty=format:...指令更改diff之前出现的内容.请注意,diff将抑制同一提交中的其他更改,仅显示影响所选文件的更改.