• Windows下git bash(及powershell)与tig常见问题的解决


    最近用Windows比较多,说实话并不是很喜欢这个系统。

    由于历史遗留问题,Windows中文默认gbk编码,这和Unix/Linux世界以及网络应用的utf8编码有很大的兼容问题。目前Windows似乎考虑迁移到utf8编码,在区域语言设置中加入了默认utf8的beta功能。但是如果你用了这个功能你会发现不但一些破旧不堪的软件会乱码,就连Windows自身都没做好迁移的准备。所以暂时还是使用Windows默认编码吧。

    解决git bash和tig中文乱码:

    • 配置git
    git config --global i18n.commitencoding utf-8       # 设置提交日志使用utf-8
    git config --global i18n.logoutputencoding utf-8    # 设置输出日志时使用utf-8
    git config --global core.quotepath false            # 不用双引号引用路径
    
    • 在~/.bashrc中添加编码设置
    export LC_ALL=zh_CN.utf8
    export LANG=zh_CN.utf8
    export LESSCHARSET=utf-8  # 设置LESS字符集为utf-8
    

    linux环境如果export LC_ALL=zh_CN.utf8报错,可尝试安装language-pack-zh-hans包:

    sudo apt install -y language-pack-zh-hans
    sudo update-locale LANG=zh_CN.UTF-8
    

    上面是git bash,如果是powershell,设置字符集的方式为在profile文件中加入:

    $env:LESSCHARSET="utf-8"
    

    参考:解决windows git乱码问题

    禁用bell

    当你在git bash中用git diffgit log查看文件的时候,光标移动到头继续移动会听到Windows“噗噗噗噗--叮”的声音,很是烦人。可以这样禁用bell:

     git config --global core.pager 'less -q'
    

    或者手动在~/.gitconfig中添加如下内容:

    [core]
        pager = less -q
    

    更新:

    其实最好的方式还是使用WSL1中的git/tig代替git bash 、tig

    WSL2其实是个虚拟机,使用ext4磁盘,不配置git忽略换行符的时候gst会提示Windows系统中所有文件都修改了。。。

    WSL1默认使用umask进行了设置,不会有这个问题。

  • 相关阅读:
    微信小程序:动画(Animation)
    小程序滚动事件之头部渐隐渐现demo
    小程序tab栏可滑动,可点击居中demo
    ES7中前端异步特性:async、await。
    vue中生成二维码
    vue之vue-cookies
    echarts中boundaryGap属性
    ES6数组方法总结
    手写自己的ORM框架For SQlServer(简单的CURD)
    Sqlsever新增作业执行计划傻瓜式操作
  • 原文地址:https://www.cnblogs.com/dylanchu/p/12842923.html
Copyright © 2020-2023  润新知