git责备忽略空格选项越野车



基于我的理解,命令git blame应该显示文件中的每一行,作者和该行最后修改的提示。因此,例如,如果我运行git blame -- "<filename>"并获取第5行的以下输出:

106b77db (Walrus 2016-03-24 10:01:36 +0800   5) .root {

这意味着线.root {源自提交106b77db中的作者Walrus。换句话说,如果我使用git show -p 106b77db检查106b77db产生的补丁,我希望该行+.root {会在diff中显示。确实,就是这样。

106b77db的diff for <filename>的摘要:

 /* JavaFX CSS - Leave this comment until you have at least create one rule       which uses -fx-Property */
+.root {
+   -fx-background-color: transparent;
+}
+

现在,当我运行 git blame -w -- "<filename>"时( -w选项忽略空格会更改,即及时向后跟踪每行以查找最后一个引入 non - Whitespace的作者 - Whitespace更改该行(,我现在,现在获取第5行的以下输出:

b6a6e8a2 (Walrus 2016-03-31 23:32:50 +0800   5) .root {

但是,当我使用git show -p b6a6e8a2检查b6a6e8a2的补丁程序时,DIFF如预期的是.root {而不是+.root {

b6a6e8a2的摘要<filename>

+
+/* setting window to be transparent================================ */
 .root {
    -fx-background-color: transparent;
-}
-

git是否给我错误的输出,因为根据差异,在COMP b6a6e8a2中根本没有修改该行.root {

我正在使用git 2.13.3.windows.1。

编辑:存储库是https://github.com/cs2103jan2016-f14-2j/main,该文件为 JimplePlanner/src/application.css。升级到git 2.16.1.windows.4之后,问题仍然存在。

五年后,我遇到了同样的问题,并试图了解发生了什么。

事实证明,当您忽略空格时,git有时会理解变化是完全不同的变化,因为重复模式,在空格省略之后,它会更改检测到的"最小变化"的位置。p>在"不正确"上运行git diff -w vs git diff修订(在您的情况下,b6a6e8a(说明了问题:

git diff b6a6e8a~..b6a6e8a

diff --git a/JimplePlanner/src/application.css b/JimplePlanner/src/application.css
index e4634ef..c0cc44b 100644
--- a/JimplePlanner/src/application.css
+++ b/JimplePlanner/src/application.css
@@ -1,248 +1,108 @@
 /* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
+
+/* setting window to be transparent================================ */
 .root {
        -fx-background-color: transparent;
-}
-
-.today-pane {

git diff -w b6a6e8a~..b6a6e8a

diff --git a/JimplePlanner/src/application.css b/JimplePlanner/src/application.css
index e4634ef..c0cc44b 100644
--- a/JimplePlanner/src/application.css
+++ b/JimplePlanner/src/application.css
@@ -1,248 +1,108 @@
 /* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
-.root {
-       -fx-background-color: transparent;
-}
-
-.today-pane {
-       -fx-background-radius: 10px;
-    -fx-background-color: white;
-    -fx-border-color: grey;
-    -fx-border-radius: 10px;
-}
-
-.list-view {
-    -fx-padding: 3px ;
-    -fx-background-color: transparent;
-}
-
- .list-cell {
-    -fx-padding: 10px ;
-    -fx-background-color: transparent, -fx-background ;
-}
-
-.list-cell:empty {
-    -fx-padding: 10px;
+/* setting window to be transparent================================ */
+.root {
        -fx-background-color: transparent;
-    -fx-background-insets: 0 ;
-}
+}/*============================================++================== */

当忽略空格时,diff算法最终会在一个地方删除.root {,并在另一个位置添加。

这只是忽略空格的结果 - 有时会解释与您对它们的看法大不相同的变化;

比不忽视空格时更多

相关内容

  • 没有找到相关文章

最新更新