![](/img/trans.png)
[英]Strange output of “git diff”, “git diff HEAD” and “git diff --staged”?
[英]Strange git diff sometimes
有时在我提交之前,差异变得很奇怪。 像这种情况
#pragma
行没有变化。 我只是在上面添加了新方法。 由于某种原因,该差异认为我删除并重写了该行。
我如何避免这种行为? 是什么原因呢?
294行以前有
#pragma mark web editing
但是现在第294行有
- (void)aNewMEthod
因为此行294现在包含它之前未包含的内容,所以diff认为您已替换了它。 而你做到了。 您知道您只是将其向下移动了几行,但是差异仅在同一位置看到2条不同的行,因此它认为您完全替换了它。
299行以前是空白的,但现在有
#pragma mark web editing
因为它之前是空白的,并且已经放了一些东西(由于上面的方法插入而将其向下移动),所以它认为这是新添加的行,而实际上它只是被移动了。
这就是它的作用,它比较行并报告新旧不匹配的地方。
在git项目中移动文件时,您会看到相同的行为。 然后,Git认为您在位置A删除了文件,并在位置B创建了具有相同内容的新文件。
这就是它的工作方式,您不希望避免/更改此行为,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.