close

原來會有這個現象還跟不同平台的行尾有關

Linux 行尾: \n (0x0A) -> LF(LineFeed)

Windows 行尾: \r\n (0x0D, 0x0A) -> CR LF (CarriageReturn LineFeed)

之前我在 .gitconfig 檔案內

新增了

[core]
    editor = vim
    LESSCHARSET=UTF-8
    pager = less -x1,5
    autocrlf = input

用意是, 我不想讓 Repo 內的 LF checkout 以後,

再轉一次 CR LF

 

這樣設定的結果造成

1. 如果檔案原本就是 LF 結尾, git blame 正常

2. 如果檔案原本就是 CR LF 結尾, git blame 失敗

每一行都是 Not Committed Yet

 

解決方式:

git blame -w XXX (加上一個 -w)

 

Reference:

1. Git Configuration

https://git-scm.com/book/zh-tw/v2/Customizing-Git-Git-Configuration

2. StackOverflow

https://stackoverflow.com/questions/4638500/git-blame-showing-no-history

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kk 的頭像
    kk

    kk

    kk 發表在 痞客邦 留言(0) 人氣()