【问题标题】:Git reports changed files on Windows 8Git 报告在 Windows 8 上更改的文件
【发布时间】:2013-11-09 09:50:18
【问题描述】:

我一直在努力解决这个 git 问题。

问题是,当我从 GitHub 进行全新克隆时,git 报告一些文件已更改,尽管我没有碰过它们。

当我切换分支时,通常也会发生这种情况。如果我从一个未修改的 master 转到另一个分支并返回 master,它表示 master 中的文件已更改。

我一直在阅读有关行尾的信息,并尝试了该类别中的所有内容,但似乎没有任何帮助。

存储库是https://github.com/seesharper/LightInject,如果有人想尝试看看他们是否有同样的问题。

我的一个朋友在他的 Windows 8 机器上使用相同的存储库时遇到了完全相同的问题。然后他在 Windows 7 上试了一下,问题就消失了。

有人知道在 Windows 8 上使用 git 有什么问题吗?

我也在另一台 Windows 8 机器上试过这个,它也有同样的问题。

【问题讨论】:

  • 这个问题是否适用于您:stackoverflow.com/questions/17562439/…? (GIT索引和不区分大小写的操作系统中存在大小写文件)
  • 我不这么认为。当我对其中一个修改过的文件执行 grep 时,我只得到了一次命中。没有一个小写字母和一个大写字母,这似乎是您发布的链接中的问题。奇怪的是,它似乎在 Windows 7 上运行良好。

标签: windows git windows-8


【解决方案1】:

我过去处理过这个问题 - 请记住,大多数 git 安装都在非 Windows 服务器上运行。很可能 Windows 所看到的实际上是文件的“文件模式”与 Linux 期望的不同,因此它认为文件已更改。

在互联网上四处寻找,可能有一种方法可以解决文件模式问题 - 但目前谷歌上没有任何东西能让我记忆犹新。我略读了一遍,也许其中的某些内容会有所帮助?

https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/0EdNev3NNsw

我不能保证上面的内容对你有灵丹妙药,但似乎有很好的讨论关于 Windows 文件模式如何有时会弄乱 git 索引。

【讨论】:

  • 我现在已经解决了这个问题。事实证明,主分支似乎是麻烦制造者。我不得不删除分支(本地和远程)并从我的开发分支创建一个新的主分支。问题消失了。由于行尾根本不影响这一点,我觉得你在这里提到的问题很可能是问题的原因。谢谢
  • 很高兴你解决了。有时,Windows 和非 Windows 机器之间的文件模式、空格和行尾冲突会让人恼火。
【解决方案2】:

我在使用 Windows 7 时遇到了同样的问题。这是我为解决的问题(您可以尝试):

git clone git@github.com:seesharper/LightInject.git
cd LightInject
git status
git checkout -f -b mine HEAD~
git status
git checkout master
git status
git branch -D mine

【讨论】:

  • 这似乎可行,但如果我签出 Next 分支并返回 master,我会回到 git,告诉我 master 中有修改过的文件。我刚收到一份报告,在 Window 7 上也是如此。有什么想法吗?
猜你喜欢
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 2018-04-02
  • 1970-01-01
  • 2013-03-27
相关资源
最近更新 更多