红点标记BitBucket差异视图

时间:2018-08-31 17:11:38

标签: git encoding bitbucket

我们最近将源代码从SVN和TFVC迁移到了Git。我们的代码库主要由VS2017中编辑的C#和VB.NET文件组成。

我们的Git存储库托管在BitBucket中,但是我们遇到了差异问题,正如您在下面看到的那样,BitBucket在文件开头显示一个小红点

enter image description here

悬停时,工具提示中显示\ufeff,我知道它是一个表示零宽度不间断空格(ZWNBSP)的字符。

从个人角度来讲,我将所有源代码托管在GitHub上,从未遇到类似的问题。

那么,如果我们将其保留原样,那会有什么风险?我们还有哪些其他选择?

在此先感谢您的帮助, Roxtar

4 个答案:

答案 0 :(得分:1)

我整个周末都对此问题进行了调查,得出的结论是,我们不必为此担心,如果您正面临该问题,也不必担心,如果您正在阅读此书,也可以。

这是我所有的测试用例和相关结果:

  • BitBucket新安装上的同一段代码=>
  • GitHub上的同一段代码=>
  • 在BitBucket中使用VSCode创建的新C#文件=>
  • 使用Visual Studio 2017在BitBucket中创建的新C#文件=>
  • 使用Visual Studio 2017在GitHub中创建的新C#文件=>

我们真的对此感到担心,我们认为我们的源迁移带来了编码问题,并且将来我们将在新旧文件之间面临编码地狱。

但是使用新创建的C#文件进行的测试表明,VS2017在所有文件中均引入了ZWNBSP char。因此,由于它是VS2017源文件的预期操作,因此将来不会有问题。

因此,结论是,BitBucket在ZWNBSP上显示了一个红色的点,当GitHub不显示任何内容时,它会吓到我,我认为BB至少可以更改点的颜色。

答案 1 :(得分:1)

我来自VS2017项目的xml文件的bitbucket中的差异中有红点。

红点表示Unicode代码点U + FEFF(\ufeff)字节顺序标记(BOM)。就我而言,当我在Visual Studio中编辑xml UTF-8文件时,它将BOM序列添加到了文件的开头。

可以通过在没有签名的情况下在Visual Studio中重新保存文件来删除BOM(红点)。在VS(2017)中打开文件,然后打开“文件”->“另存为”。在“保存”按钮上,有一个下拉选项“使用编码保存”

默认为“ Unicode(带签名的UTF-8)”。更改为“ Unicode(不带签名的UTF-8)”

git diff将删除\ufeff

答案 2 :(得分:0)

您的文件采用UTF-8-BOM编码 使用notepad ++打开文件,更改编码以UTF-8编码。 encode in UTF-8

答案 3 :(得分:0)

您可以使用IntelliJ IDEA中的一个选项-文件上下文菜单中的Remove BOM选项。

enter image description here