记录一个关于Git引发的编码异常。

今天我的两个git仓库pull后遇到了同一个问题,git提示多个文件发生了modify。


奇怪的点在于无论是选择git reset HEAD –hard 还是使用git stash都无法改变这些状态。

记录下现场:

  1. 出现的问题是这些文件的编码由仓库的UTF-8 BOM 变成了UTF-8。即开头多了一个\uFEFF
  2. 出现问题的有我的两个仓库,和同事的一个仓库,(但是共一个远程仓库,相同分支)但是其他人没有问题。
  3. 我的两个仓库出现git 提交不同,出现问题的文件不同,但是都指向相同的项目
  4. vs,git bash,tortoiseGit都有相同问题

尝试的修复方式:

  1. git add.
  2. git commit 做一次本地提交
  3. git Reset HEAD^ –hard
  4. git pull

之后不管再怎么切提交,不复现


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E4%B8%80%E4%B8%AA%E5%85%B3%E4%BA%8Egit%E4%B8%AD%E7%BC%96%E7%A0%81%E7%9A%84%E9%97%AE%E9%A2%98%E8%AE%B0%E5%BD%95.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系