gpt4 book ai didi

git - 什么会导致 git 混淆字符编码?

转载 作者:IT王子 更新时间:2023-10-29 01:25:36 24 4
gpt4 key购买 nike

编辑: git 不会混淆字符编码。这仍然是为了分享知识并避免其他人犯同样的错误。


上下文:我的企业使用 svn 存储库。我使用 git-svn 作为客户端来与这个存储库交互。项目中的所有文本文件都(并且必须)使用 Windows 默认编码 (cp-....) 进行编码。我使用 git-extensions,有时使用命令行来引导 git。

我做了什么:在过去的 3 天里,我正在开发一项新功能,并且做了一些本地提交。最后,我使用交互式 rebase 将所有这些提交压缩为一个提交,然后我使用 git svn dcommit 在一次提交中将所有内容推送到 svn 存储库中。

然后发生了什么:一位同事告诉我,在我修改的文件中以及在我提交后的新文件中,所有重音都乱七八糟。我之前已经在安装 git + svn 的同一个存储库中提交了带有重音符号的文本文件,这是我第一次遇到这个问题。

我的调查:我做了以下事情来调查:用 Notepad++ 打开文件,并尝试最新的编码(包括windows默认和UTF-8)来查看它们:没有一个可以正确显示重音,并且不同的重音总是由相同的奇怪字形序列呈现。

临时解决方法:我快速创建了一个带有 git 扩展的还原提交并“dcommited”它。

问题:我的企业svn仓库是OK的,但是现在有以下两个问题需要解决:

  1. 了解带有重音符号的字符发生了什么
  2. 从 SVN 历史记录中检索我的工作并以适当的方式提交(如果可能,无需手动检查所有带有重音符号的字符)

谁能提供一些线索(我对 git 还是比较陌生)?

最佳答案

现在让我们揭开痛苦的真相(对我的 self 来说是痛苦的,而不是对 git 用户来说是痛苦的):我确实弄乱了口音,而不是 git。

我本可以删除让我们错误地认为 git 会弄乱口音的问题,但考虑到投票的数量,我认为很多人都犯了和我一样的错误,所以我选择回答我自己的问题来确定真相,并可能帮助处于同一情况的人:

  1. Git 不会触及除换行符以外的字符。
  2. 我在提交之前打破了口音,但我没有注意到它,因为我没有给予足够的重视。为此,我用 Eclipse 编辑了一些文件。 Eclipse 无法识别编码,重音符号在保存时全部被奇怪的字节序列替换。就这样。

再次感谢 Dmitry Pavlenko为我提供有关如何调查此问题的指示。

+1 到“git reflog”

快乐的口音修复;=)

关于git - 什么会导致 git 混淆字符编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623498/

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