相关疑难解决方法(0)

使用git-bash的Unicode(utf-8)

我在使用unicode为git-bash工作时遇到了一些麻烦(在Windows 7上).我尝试过许多事情都没有成功.虽然,我不太确定对此有什么责任,所以我可能在错误的方向上工作.

看来这应该是可行的,因为可以使用'chcp 65001'将cmd.exe的编码更改为unicode.

以下是我尝试过的一些事情(除了明显的浏览GUI中的配置选项).

  1. 在'.bashrc'中设置环境变量.我想这是行不通的,因为我觉得这是一个linux的事情.'locale'命令不存在.

    export LC_ALL=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从cmd.exe开始,使用'chcp 65001'将编码更改为unicode,然后启动git-bash.这会导致我在尝试捕获我的unicode测试文件时获得权限被拒绝.但是,在没有unicode的情况下捕获文件就可以了.如所示,退回到cmd.exe我仍然可以"捕获"该文件.使用我的默认编码(437)我可以用bash捕获文件(没有权限被拒绝但输出被捏造).

    S:\>chcp 65001
    Active code page: 65001
    S:\>"C:\Program Files (x86)\Git\bin\sh.exe" --login -i
    zarac@TOWELIE /z
    cat /s/unicode.txt
    cat: write error: Permission denied
    zarac@TOWELIE /z
    cat /s/nounicode.txt
    abc
    zarac@TOWELIE /z
    L /s/unicode.txt
    -rw-r--r--    1 zarac    Administ        7 May 18 10:30 /s/unicode.txt
    zarac@TOWELIE /z
    whoami
    towelie\zarac
    zarac@TOWELIE /z
    exit
    Z:\>type S:\unicode.txt
    abc£
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在启动shell时使用/ U标志(有道理它不起作用,因为它不是正确的,如果我理解正确,但它与unicode有关,所以我尝试了它).

    C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i
    
    Run Code Online (Sandbox Code Playgroud)
  4. 由于我更喜欢​​使用Console2,我尝试将名为CodePage的值为65001(十进制)的双字值添加到[HKEY_CURRENT_USER\Console]下的Windows注册表以及[HKEY_CURRENT_USER\Console\Git Bash].这似乎与设置'chcp 65001'接受它是"自动"的效果相同.(http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode-characters)

  5. JPSoft的TCC/LE

  6. PowerCMD

  7. 堆栈溢出

  8. duckduckgo

  9. ixquick …

windows unicode bash utf-8 git-bash

40
推荐指数
5
解决办法
5万
查看次数

如何在像IntelliJ这样的IDE中签署git提交?

问题如何在Windows上使用IntelliJ等IDE进行git提交?

如果你有兴趣,请阅读我在这里尝试的内容:

我主要跟随Github的指南.我确保在更改配置文件后不要忘记重启bash/IntelliJ.

  1. 生成新的GPG密钥对
  2. 将GPG密钥添加到我的GitHub帐户
  3. 将经过验证的(通过GitHub)电子邮件与我的GPG密钥相关联,我确保我的电子邮件.gitconfig是相同的.
  4. 告诉Git关于我的GPG密钥
  5. 与GPG签署提交并确认它已在Github上进行了Verfied.
  6. 从同一页面,我设置默认签名的提交git config --global commit.gpgsign true(我正在使用git 2.12).我做了一个新的提交并验证它已签名git verify-commit HEAD
  7. 当我尝试在IntelliJ中提交时,我gpg: cannot open tty 'no tty'发现IntelliT在尝试签名提交(GPG)并添加no-tty到我的C:\Users\username\.gnupg\gpg.conf文件并重新启动时未能提交更改.

  8. 然后我得到了gpg: Sorry, no terminal at all requested - can't get input似乎合理的错误,因为我刚添加了与没有终端有关的选项.像gpg:抱歉,没有终端请求 - 无法获得输入说解决方案是删除no-tty我希望不适用于我的情况.

  9. 第一个问题中的其他答案建议use-agentgpg.conf文件中添加,这会导致额外的错误gpg: gpg-agent is not available in this session.等等,也许我需要设置gpg-agent.

  10. 我能找到的最佳Windows指南是Archlinux wiki(是的,右).它指定添加到C:/Users/username/.gnupg/gpg-agent.conf …

git gnupg intellij-idea

19
推荐指数
3
解决办法
6441
查看次数

标签 统计

bash ×1

git ×1

git-bash ×1

gnupg ×1

intellij-idea ×1

unicode ×1

utf-8 ×1

windows ×1