Contents

Git diff big5 亂碼解決方法

GitKaran 查看都是亂碼,後來找到解決方法。但VSCODE看程式碼納編會有亂碼問題。

操作步驟

使用前怕Git改壞掉,建議可以先做zip備份。

CHG: git fork diff 比較 的時候中文亂碼 備份圖
Git:Diff不处理除UTF-8以外的字符编码? 中国服务器网
gitattributes - How to create a Git attributes file - Stack Overflow
Git 屬性 - - Pro Git 繁體中文版

catdoc 感覺很有趣,有空研究。

.gitattributes 作用详细讲解(git大佬必会技能)_StarJava_的博客-CSDN博客_gitattributes

Step 1 gitconfig

1
2
# fork的git
%USERPROFILE%\AppData\Local\Fork\gitInstance\環境最新版\etc 

但我不想做全域,所以把在專案下.git做設定。

gitconfig

1
2
[diff "cp950"]
  textconv=iconv -f cp950 -t utf-8

Step2 .gitattributes

.gitattributes 作用详细讲解(git大佬必会技能)_StarJava_的博客-CSDN博客_gitattributes

.gitattributes生效順序
在一個Git庫中可以有多個.gitattributes 文件,不同.gitattributes 文件中,屬性設置的優先級(從高到低)如下:

/myproj/info/attributes 文件
/myproj/my_path/.gitattributes 文件
/myproj/.gitattributes 文件
同一個.gitattributes 文件中,遵循覆蓋原則,即後面的行會覆蓋前面的設置,如果一個文件的某個屬性被多次設置,則後設置的優先,類似 int a = 1; a = 2; 最終結果a == 2。
————————————————
版权声明:本文为CSDN博主「StarJava_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35425070/article/details/106883833

這樣我們設定在 Project目錄底下設定.gitattributes,如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 中文
*.java  diff=cp950
*.sql   diff=cp950
*.xml   diff=cp950
*.html  diff=cp950
*.xsl   diff=cp950
*.css   diff=cp950
*.cpp   diff=cp950
*.hpp   diff=cp950
*.c     diff=cp950
*.h     diff=cp950

Git add -p 行數會有問題(未解)

Git add -p 行數會有問題

其他(彩蛋)

windows下git中文乱码解决方式【图文】_wx60bf0f6c32435_51CTO博客

Git Diff中文乱码问题 (windows git bash)_qhexin的专栏-CSDN博客