我注意到我的一个项目存在git版本控制下的奇怪现象。当一行被更改时,'git diff'会将旧行显示为已删除,但不会显示添加的“新”行。这是随机发生的,其他更改的行(即使在同一个文件中)仍然可以正确显示。这是我现在正在看的例子:
- this.vehicleUseId = data.Get<short?>("vehicleUseId");
- this.radiusId = data.Get<short?>("radiusId");
- this.vehicleSubClassId = data.Get<short?>("vehicleSubClassId");
+ this.vehicleUseId = data.GetNullable<short>("vehicleUseId");
+ this.radiusId = data.GetNullable<short>("radiusId");
+ this.vehicleSubClassId = data.GetNullable<short>("vehicleSubClassId");
this.vehicleClassId = ...
- this.garageZoneNum = data.Get<short?>("garageZoneNum");
- this.destZoneNum = data.Get<short?>("destZoneNum");
+ this.destZoneNum = data.GetNullable<short>("destZoneNum");
所以五条线以完全相同的方式被改变,只有一条线丢失了。我已经进行了双重检查,并且“garageZoneNum”的更正行确实仍在源文件中。
这种情况在类似的情况下发生了大约五次,对我来说太多了继续忽视。 'git diff'应该是100%可靠还是期望异常会不时出现?