4

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

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

这意味着该行.root {来自提交Walrus中的作者106b77db。换句话说,如果我检查106b77dbusing生成的补丁git show -p 106b77db,我希望该行+.root {出现在 diff 中。确实如此。

106b77db来自diff 的片段<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选项忽略空白更改,即及时向后跟踪每一行以找到最后一位对该行引入空白更改的作者),我现在得到第 5 行的以下输出:

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

但是,当我检查b6a6e8a2使用的补丁时git show -p b6a6e8a2,差异显示.root {而不是+.root {预期的。

b6a6e8a2来自diff 的片段<filename>

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

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

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

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

4

0 回答 0