zoukankan      html  css  js  c++  java
  • 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进行了设置,不会有这个问题。

  • 相关阅读:
    HashCode和equal方法的区别和联系 [转]
    Linux makefile 教程 [转]
    gcc: multiple definition of [转]
    conda虚拟环默认路径
    terrasolid修改背景颜色
    台式机无法开机可能的原因
    TensorFlow2.1中计算平方函数的tf.square()的用法
    Terrasolid 安装教程
    如何解决Pytorch的GPU driver is too old的问题?
    使用 TensorBoard 可视化进行监督
  • 原文地址:https://www.cnblogs.com/dylanchu/p/12842923.html
Copyright © 2011-2022 走看看