git接受编辑的大块但后来忽略它

时间:2014-03-27 14:06:54

标签: git

所以git在检测正确的逻辑组成方面有一些问题,比如带有注释标题的方法。为了得到一个干净的好提交,我自己编辑了大块头。在这种情况下哪个很容易,因为它只是在开头添加 - 并在底部删除它。

一点点我的意思是:

ORIGINAL:

class pseudo {

    /**
     * test
     */
    public foo() {
       test1();
    }

    /**
     * test1
     */
    public foo1() {
        test1();
    }

    /**
     * test2
     */
    public foo2() {
        test1();
    }

    /**
     * testX
     */
    public fooX() {
        test1();
    }
}

现在删除方法(方法foo2)

class pseudo {

    /**
     * test
     */
    public foo() {
       test1();
    }

    /**
     * test1
     */
    public foo1() {
        test1();
    }

    /**
     * testX
     */
    public fooX() {
        test1();
    }
}

GIT现在显示以下

-13,xy - +13,xy
    public foo1() {
        test1();
    }

    /**
-    * test2
-   */
-   public foo2() {
-       test1();
-   }
-
-   /**
    * testX

我会在* test2之上添加一行 - 并在末尾删除它,这将产生一个干净且适当的大块。

Git接受它没有问题,但最后旧的大块头上演了。

我的一位朋友认为问题在于git并不重要。我的大块头和前一个是同样的'但毕竟当我编辑一个大块时,它不应该玩它。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

Git跟踪文件的状态,而不是差异。像您发布的那样的输出是由工具即时生成的,就像diff -u一样。与git相关的是文件在播放时的外观,而不是你如何到达那里。所以,是的,你所做的基本上是对git的无操作。

  

我该如何解决这个问题?

您可以尝试调整git向您展示差异的方式,但我认为这不值得。