Git diff显示错误的更改

时间:2016-05-09 17:39:03

标签: git

我在一个文件中更新了四行代码,验证了一切正常,然后去提交我的代码。

我检查git status并看到git识别出我已经更改了我一直在处理的文件。

但是,当我执行git diff时,它表示我已更改了不同的代码行,并且我所做的更改的行未更改。

如何解决此问题并让git正确识别我的更改?

我的问题代码(注释中标记的更改的行):

<cfcomponent displayname="Config" output="false" alias="com.ams.sms.timekeeper.ConfigBean">

        <cfproperty name="Config_ID" type="numeric" default="" />
        <cfproperty name="School_ID" type="numeric" default="" />
        <cfproperty name="Is_Recycled" type="numeric" default="" />
        <cfproperty name="Period_Type" type="numeric" default="" />
        <cfproperty name="Rounding_Unit" type="numeric" default="" />
        <cfproperty name="Grace_Time" type="numeric" default="" />
        <cfproperty name="Auto_Create_Periods" type="boolean" default="" />
        <cfproperty name="Verification_Method" type="numeric" default="" />
        <cfproperty name="Allow_Manual" type="boolean" default="" />

    <!---
    PROPERTIES
    --->
    <cfscript>
        variables.Config_ID="";
        variables.School_ID="";
        variables.Is_Recycled=0; // changed
        variables.Period_Type=1;
        variables.Rounding_Unit=0; //changed
        variables.Grace_Time=0; //changed
        variables.Auto_Create_Periods=true;
        variables.Verification_Method=0; //changed
        variables.Allow_Manual=true;
    </cfscript>

git diff返回以下内容,说我已经更新了第1行,我没有更新,并忽略了这些行的更改:

$ git diff
diff --git a/ams/sms/timekeeper/ConfigBean.cfc b/ams/sms/timekeeper/ConfigBean.cfc
index e2db893..9dabfc9 100644
--- a/ams/sms/timekeeper/ConfigBean.cfc
+++ b/ams/sms/timekeeper/ConfigBean.cfc
@@ -1 +1 @@
-<cfcomponent displayname="Config" output="false" alias="com.ams.sms.timekeeper.ConfigBean">^M^M
\ No newline at end of file
+<cfcomponent displayname="Config" output="false" alias="com.ams.sms.timekeeper.ConfigBean">^M^M
\ No newline at end of file
(END)

1 个答案:

答案 0 :(得分:1)

我会说你的行分隔符有点虚假 你在文件中有旧的mac行结尾(只有\ r)吗?
因为diff将整个文件视为一行(你看到在第一行之后它表示“文件末尾没有换行符”,这意味着在该行之后文件已经完成)并且vim只显示其余部分这条线或类似的东西。