并行使用cygwin git和git for windows

并行使用cygwin git和git for windows,git,cygwin,Git,Cygwin,我正在并行使用cygwin git和git for Windows(实际上由TortoiseGit使用)。如果我在同一回购协议上使用它们,git status开始刷新索引(如果我以前使用过其他客户端) 在运行每个客户机之后,我比较了git ls文件--debug的输出。区别在于文件的统计信息。当cygwin客户端真正保存文件统计信息时: dev: -1177461325 ino: 227463 uid: 1129333 gid: 1178613 git for Window

我正在并行使用cygwin git和git for Windows(实际上由TortoiseGit使用)。如果我在同一回购协议上使用它们,
git status
开始刷新索引(如果我以前使用过其他客户端)

在运行每个客户机之后,我比较了git ls文件--debug的输出。区别在于文件的统计信息。当cygwin客户端真正保存文件统计信息时:

  dev: -1177461325      ino: 227463
  uid: 1129333  gid: 1178613
git for Windows生成的索引中的文件统计信息均为0:

  dev: 0        ino: 0
  uid: 0        gid: 0

我可以停止git保存文件统计信息,从而防止在切换客户端时刷新索引吗?

有几个git选项,您可以尝试看看它们是否有用。您可以将
core.checkstat
设置为
minimal
,忽略uid、gid、设备和inode编号,也可以将
core.trustctime
设置为false,忽略ctime。根据您给出的输出,您应该按顺序尝试它们


请注意,您可能会遇到一些其他不兼容,这些不兼容可能会导致无法解决的问题。如果您有符号链接,这些链接可以以不同的方式存储。Cygwin可以使用本机Windows符号链接,也可以不使用,这取决于是否使用本机Windows符号链接(以及Cygwin如何存储大小,如果使用),您可能会发现
git status
仍在执行刷新。普通Windows和Windows Linux子系统也会出现这种情况,并且在那里也无法修复。

我使用Git for Windows和cygwin Git与GitHub和BitBucket互换,没有任何奇怪的行为<代码>git ls文件--调试报告是相同的。cygwin的git版本为2.17.0,windows的git版本为2.21.0.windows.1;两种环境中的全局配置几乎相同。我建议您比较全局配置,并可能尝试覆盖本地配置中的差异。还要检查您的Tortoise git配置是否与cygwin的全局配置不同。顺便说一句,我的回购协议在本地磁盘上。下一步是告诉我们您的详细工作流程。