所以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并不重要。我的大块头和前一个是同样的'但毕竟当我编辑一个大块时,它不应该玩它。
我该如何解决这个问题?
答案 0 :(得分:2)
Git跟踪文件的状态,而不是差异。像您发布的那样的输出是由工具即时生成的,就像diff -u
一样。与git相关的是文件在播放时的外观,而不是你如何到达那里。所以,是的,你所做的基本上是对git的无操作。
我该如何解决这个问题?
您可以尝试调整git向您展示差异的方式,但我认为这不值得。