gpt4 book ai didi

git checkout -p 指定编码

转载 作者:太空狗 更新时间:2023-10-29 14:16:23 24 4
gpt4 key购买 nike

我正在处理存储库中的混合编码文件。

我的系统$LANG是en_US.UTF8,文件编码是iso-8859-1。当我运行 git checkout -p HEAD file 时,git 使用 UTF8 来显示差异。

我看到了这样的东西:

-               "�" - EUR
- "�" - GBP
- "�" - JPY
+ "�" - EUR
+ "�" - GBP
+ "�" - JPY
Discard this hunk from index and worktree [y,n,q,a,d,/,j,J,g,e,?]?

问题是,“�”不是文件的正确内容。当我运行 iconv -f iso-8859-1 -t UTF8 文件时 |少我明白了

"¤" - EUR
"£" - GBP
"¥" - JPY

当我在运行 git checkout -p 时接受或放弃更改时,我想确切地看到哪些字符发生了变化,而不是“�”字符,这是没有信息的。我该怎么做?

最佳答案

如果您使用关注 LANG 的 GUI 编辑器,您应该能够通过在其命令行上临时设置 LANG 来使用与终端编码不同的编码来调用它.

例如,在 utf-8 终端中,我使用此语法在 gvim 中编辑 iso-8859-1 文件:

LANG=en_US.iso-8859-1 gvim file-encoded-in-latin1

您应该能够通过临时更改 Git 编辑器来为 git checkout -p 完成相同的临时设置:

LANG=en_US.iso-8859-1 GIT_EDITOR=gvim git checkout -p HEAD file

如果您不能使用 GUI 编辑器,我不确定您如何做到这一点,因为 Git 总是会向您显示文件的真实内容,而终端控制着显示编码。这就是为什么我认为您需要像这样 pop 一个 GUI 编辑器。

关于git checkout -p 指定编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com