【问题标题】:Downloaded clean repo or checkout branch and git says something changed [duplicate]下载干净的 repo 或结帐分支,git 说发生了一些变化[重复]
【发布时间】:2017-07-21 12:22:19
【问题描述】:

我的 Git 存储库中几乎没有分支,我团队中的人说有时他们会下载一个干净的副本或存储库并签出分支或推送某些内容然后签出分支,然后 Git 说某些文件已被修改,但是当我们查看更改时没变化。

这里发生了什么? 我可能是因为你的机器上有 Bitlocker?

示例文件上的 git diff

    @@ -5,12 +5,12 @@ webpackJsonp([0],{

 "use strict";
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CONFIG; });
-var CONFIG = {
-    baseUrls: {
-        vehicles: 'src/api/vehicles.json',
-        characters: 'src/api/characters.json'
-    }
-};
+var CONFIG = {
+    baseUrls: {
+        vehicles: 'src/api/vehicles.json',
+        characters: 'src/api/characters.json'
+    }
+};
 //# sourceMappingURL=config.js.map

 /***/ })

如您所见,一切都没有改变......

【问题讨论】:

  • 当您从默认分支更改为新分支时,可能某些文件已脱离控制,但它仍然存在,因此显示为未跟踪的文件。
  • 可能出现 EOL 问题
  • @CristianoAraujo 你是什么意思?
  • 说 foo.c 在 master 中受控制,但在 develop 中不存在,如果您从 master 签出 develop,foo.c 将保留在源树上,但会显示为未跟踪文件在索引上。
  • @CristianoAraujo,不,他们在工作目录中处于修改状态。

标签: git


【解决方案1】:

行尾和空格。 Git 记录文件中的所有字符,包括不可见的字符。您所看到的可能是行尾更改 - 可能从 \r\n 到 \n 或反之亦然。不同的操作系统使用不同的行尾。

修复:

  1. 配置编辑器使用相同的结尾
  2. 配置 git 以在提交时转换行尾 https://help.github.com/articles/dealing-with-line-endings/

【讨论】:

  • 我们使用相同的操作系统和Visual Studio和Git sorce控制插件。
  • 即使我们不修改文件也可能出现eol问题?
猜你喜欢
  • 2018-01-27
  • 2016-12-29
  • 2023-01-18
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
  • 2020-02-23
  • 1970-01-01
相关资源
最近更新 更多