【问题标题】:Git shows changes and new files after copying repo from one computer to another将 repo 从一台计算机复制到另一台计算机后,Git 显示更改和新文件
【发布时间】:2021-11-28 08:23:26
【问题描述】:

我在服务器 A (Windows) 上有 Git 存储库。 TortoiseGit 在文件夹上显示绿色。尝试 git commit 时,没有任何更改,也没有要提交的内容。一切正常。

现在我使用 Total Commander 将此存储库复制到不同的服务器 B (Windows)。 ToroiseGit 突然开始在存储库文件夹上显示红旗。尝试 git commit 时,现有文件和几个新的未版本控制文件有几处更改。但是“已更改”文件和“未版本化”文件的当前内容与私有 Git 服务器上的 Git 存储库中的内容完全相同。

我希望我的描述已经足够了。

这个问题的解决方法是什么?

我尝试了什么:

  • git pull - 不工作,因为 Git 声称有更改的文件并且“未版本化”的文件将被覆盖
  • git fetch - 从 Git 服务器获取当前存储库,但本地存储库中没有任何更改

【问题讨论】:

  • 使用命令行而不是 TortoiseGit 来检查事物,以排除 TortoiseGit 中的任何错误。运行git diff --cached 比较HEAD-vs-index,然后运行git diff 比较index-vs-working-tree。请注意,文件上的日期和时间戳在这里也很重要。

标签: git tortoisegit git-diff


【解决方案1】:

git fetch 只获取远程,而git pull 获取远程并通常尝试合并它。

由于有本地更改,合并将失败。

我猜你需要分享git status 的输出,这样才能看到变化是什么。

我脑海中闪现的几件事是:

  • 文件名中包含特殊字符,在不能正确处理它们的机器上,可能会导致这些文件发生变化。
  • 在文件上设置权限标志,在不能正确处理它们的机器上,可能会导致对这些文件的更改。

【讨论】:

  • 我认为问题与权限或文件名无关(标准英文,无特殊字符)。我相信权限问题就像空差异(内容没有变化),但这不是我的情况。 Git 认为当前版本的 repo 是多次提交。但是当前文件的内容和 Git 服务器上的完全一样。
猜你喜欢
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
相关资源
最近更新 更多