有时在我提交之前,差异很奇怪。就像在这种情况下,
#pragma
的行没有变化。我刚刚在它上面添加了新方法。由于某种原因,这个差异认为我删除并重写了该行
我该如何避免这种行为?它是什么原因?
答案 0 :(得分:2)
第294行过去有
#pragma mark web editing
但是现在第294行已经
了- (void)aNewMEthod
因为这行294现在包含了之前没有的东西,所以diff认为你已经替换了它。而你做到了。 你知道你只是将它向下移动了几行,但差异只是在同一个地方看到两条不同的行,因此它认为你完全取代了它。
第299行曾经是空白,但现在已经
了#pragma mark web editing
因为它之前是空白的并且有东西放在那里(由于上面的方法插入它被移动),它认为它是一个新添加的行,而实际上它只是被移动了。
它的作用是什么,它比较新旧不匹配的行和报告。
在git项目中移动文件时,您会看到相同的行为。 Git然后认为您在地点A删除了文件,并在地点B创建了一个具有相同内容的新文件。
这是它的工作原理,您不应该想要避免/改变这种行为,