繁体   English   中英

有时奇怪的git diff

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM