【问题标题】:git shows mysterious changesgit 显示出神秘的变化
【发布时间】:2019-10-15 20:52:11
【问题描述】:

在团队中工作时,我经常遇到这个问题。每次我推送更改时,都会有一些不是我做的更改,我似乎无法理解发生了什么变化。我附上了 Fork 的示例截图。

您可以看到在第 64 行的末尾突出显示了一个小字符。 该文件具有 LF 行结尾格式,我认为它不会与 CRLF 混合使用。

团队使用不同的操作系统和 IDE

注意:突出显示的字符不是空格。我无法在此处发布文本,因为它已被 SO 重新格式化。

【问题讨论】:

  • “团队使用不同的操作系统和 IDE”这可能就是原因。 Windows、Unix 和 Mac 都使用不同的行尾。
  • 我们已经在 .gitattributes 文件中使用* -text
  • 尝试在一些十六进制编辑器中比较这两个文件的内容——我很确定有一些与行尾相关的更改。

标签: git diff commit line-endings


【解决方案1】:

I 可以是行尾空格或换行符。 例如,也许他们在括号后添加了(意外)空格,并且他们的编辑器不会自动修剪它们,而您的编辑器可能会配置为修剪它们,使它们消失,从而创建更改。

您应该真正与您的团队同步以使用相同的编辑器设置(换行符的类型、修剪行尾等)以避免此类情况。

【讨论】:

  • 不,我们都同意使用制表符,再加上图中的不是空格或制表符,它只是隐藏字符
  • 我没有说缩进的类型,而是行尾的空格。但是,是的,确保你们都使用相同的缩进也很重要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-08
  • 2014-06-05
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多