git:确定给定文件是否在修订哈希A和B之间发生了变化?

时间:2015-08-17 23:40:53

标签: git diff

Git中是否有一种简单的方法可以确定给定文件是否在修订哈希值A和B之间发生了变化?

我知道如果我可以确定修订哈希A'和B',我可以很容易地做到这一点,其中A'= predchange(A,路径)和B'= predchange(B,路径),其中predchange(X,路径) )是给定路径更改的X(或X本身)的最新父级。然后我只检查A'== B'。

3 个答案:

答案 0 :(得分:3)

git diff [--stat] A..B -- path/to/file

使用--stat,它只显示更改的一行摘要。没有,它显示了实际的差异。

A..B语法是修订范围。它扫描为“所有提交可从B到达,但不能从A到达”。当您将revision range传递给diff时,它会显示范围内所有提交的差异。 AB是“委托” - SHA1标识提交,引用或标记,HEAD或任何先前与^等特殊选择器相结合。

答案 1 :(得分:1)

是的,您可以将git diffrange一起使用。

git diff HEAD^.. file.txt

如果您看到less为空,则表示没有任何变化。

答案 2 :(得分:0)

message.root.node1['@attr1']

0表示文件未更改。