Windows 环境下 Git ( msysGit ) 完美设置使用小结

目录 Content
[hide]

< 20160621更新: 新版本的Git可能已经解决了编码问题,请读者自行尝试 >

经过折腾,LT 探索出来了Windows环境下适合自己的 Git 使用方式,解决了中文输入、中文乱码、UTF-8编码、HTTP(S) 认证信息存储等问题。记录下以备忘 :

我的环境:

  1. WinXP 中文版 + Win7 中文版 + 编程工具 VC6 + VS2010 + Qt5
  2. Git 为 msysGit 版本为 Git-1.8.1.2-preview20130201
  3. 文本编辑器为 EmEditor

配置Windows下的 Git 环境

  1. GUI 的显示要根据文本文件编码来定。如果源码不是 UTF-8 格式,就没必要一股脑设置为 UTF-8。这一点,网上人云亦云说要设置为 UTF-8,不是完全正确的。有的repository 需要系统编码,有的 Repository 需要 UTF-8 编码,所以可以在打开 Git GUI 窗口后的选项里面,针对本 Repository 指定局部的编码。
  2. 由于 CMD 限制,bash 里输入中文乱码,所以干脆不要在命令行里输入中文描述,Git 会调用外部编辑器(editor)来让输入,然后保存为 UTF-8 格式。
    我用 EmEditor,使用参数 /cp 65001 指定为UTF-8编码,参数 /sp 指定新开一个进程。提交时使用命令 git commit -a ,就会跳出一个 emeditor 新的窗口来输入。
  3. 中文路径名用 quotepath = false 解决(尽量避免中文路径)。
  4. Git 本身系统相关的存储、传送一律使用 UTF-8。
  5. 如果不使用Bash ,只使用 GUI ,那么中文乱码问题不会存在。
  6. GUI 界面语言恢复成英文,防止语意不清 。方法是删除本地化语言文件。
  7. 自动保存 HTTP(S) 认证的信息,使用 git-credential-winstore 这个辅助程序。保存的密码在 Win7 中可以在“控制面板”->“凭据管理器”或者使用命令行 cmdkey 看到;但是 WinXP 下,看不到保存的信息,不过 XP 可以使用从 Win2003 中抽取的命令行工具 cmdkey.exe 来查看和删除。(下载 XP 适用的命令行工具 cmdkey.exe
  8. 使用http代理 (2014-11-27 更新)

所以

.gitconfig 配置:

[core]    
        editor =  'C:\\your path\\EmEditor.exe' //sp //cp 65001   
        quotepath = false
[i18n]    
        commitEncoding = utf-8    
        logOutputEncoding = utf-8
[user]
        name = yourname
        email = youremail

(2014-11-27 更新 如果需要使用 http代理,则需要在 .gitconfig 中设置 http.proxy。如果要忽略ssl验证,则需要设置 http.sslVerify 为 false 。服务器地址为 proxyserverhost,端口为8080,则如下面设置。如果域环境代理认证存在问题,安装 Cntlm 代理转换。)

[http]
    proxy = http://user:pass@proxyServerIp:8080
    sslVerify = false 

( 2015-07-18更新:如果要使用 Notepad++,那么 editor可以这样写,同时也需要在notepad++里面设置为 New Document -> Encoding ,选中 UTF8 without BOM 选项。)

[core]    
        editor =  'C:\\Program Files\\notepad++\\notepad++.exe'  \\-multiInst

 

inputrc 修改

set output-meta on
set convert-meta off

git-completion.bash 添加

alias ls='ls --show-control-chars --color=auto'

将安装目录 \Git\share\git-gui\lib\msgs\ 目录下的本地化语言文件删除

de.msg
el.msg
fr.msg
hu.msg
it.msg
ja.msg
nb.msg
pt_br.msg
ru.msg
sv.msg
zh_cn.msg

创建忽略文件 .gitignore

可以下载我写的样本 ( ignore_file.zip )

# for windows

Thumbs.db

# for VC6

Debug
Release
*.ncb
*.opt
*.plg
*.aps

# for VC2010

*.opensdf
*.suo
*.sdf
*.vcxproj.user
*.vsp
ipch

# for Qt

*.pro.user
build-*

扩展阅读 :

关键字:Git, UTF-8, msysGit, 中文, 乱码, GUI, 外部编辑器, git, utf-8, utf8, 认证, 凭据

4 thoughts on “Windows 环境下 Git ( msysGit ) 完美设置使用小结

  1. Pingback: 入手《OpenCV2计算机视觉编程手册》 | LT

  2. Pingback: 《OpenCV2计算机视觉编程手册》初读 - 编程语言综合 - 开发者第2216162个问答

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.