【问题标题】:git on windows shows modified files all the time, even for newly cloned repowindows上的git一直显示修改过的文件,即使是新克隆的repo
【发布时间】:2019-09-25 23:13:59
【问题描述】:

我的 git 在 Windows 机器上遇到问题。我总是在每个 repo 中修改了一些 git 文件,显示为已修改的文件是相同的。

如果我克隆一个新的 repo 并使用 tortoisegit 提交,我会看到一些文件已修改,即使我从未接触过 repo 中的单个文件。 “gitstatus”虽然没有显示任何修改

感谢任何帮助。谢谢

【问题讨论】:

标签: git tortoisegit


【解决方案1】:

检查更改是否仅仅是文件权限的更改。这就是我的原因,TortoiseGit 和 Git Extensions 都显示未修改的文件。

使用git config core.fileMode falseignore chmod differences(或直接编辑.git/config文件)。

您可能还想使用git config --global core.filemode false 将其设置为全局配置。

【讨论】:

  • 在 Windows 上,除非您使用 Cygwin 中的 git,否则这无效。
  • 在 Windows 上不起作用 :) 唯一起作用的就是打开 Tortoise Git 设置,点击常规,然后重新运行第一个向导,然后点击下一步,最后它会要求你提供 git.exe 路径然后如果它在 cygwin 文件夹安装中,则将其更改为您安装的 git.exe 或任何其他工具(如 gitbash)也将具有 git.exe
【解决方案2】:

这是行尾问题。在你的 Windows 机器上设置这个:

git config --global core.autocrlf true

【讨论】:

  • 此外,文件会出现变化,而即使行尾看起来也完全一样。那是因为 Git 会比较即将提交的版本,但会向您显示本地版本。在更改 autocrlf 设置后,您必须提交一次文件,并且为将来确保团队中的每个人都正确设置了此设置。
  • 在 Windows 上不起作用 :) 唯一起作用的就是打开 Tortoise Git 设置,点击常规,然后重新运行第一个向导,然后点击下一步,最后它会要求你提供 git.exe 路径然后如果它在 cygwin 文件夹安装中,则将其更改为您安装的 git.exe 或任何其他工具(如 gitbash)也将具有 git.exe
【解决方案3】:

没有一个建议的修复对我有用。但是,我安装了 Cygwin,并且 TortoiseGit 在安装时选择了它的路径。我通过安装官方的 Git 包解决了这个问题,并在 TortoiseGit 中更改了路径。

【讨论】:

  • 我知道这是旧的,但它是唯一帮助我的。每次升级 TurtoiseGit 时,您都会再次遇到此问题,除非(我假设)您的 PATH 设置正确,且 GIT 路径位于 Cygwin 路径之前。
【解决方案4】:

如果将 TortoiseGit 与 Cygwin git 一起使用(官方不支持),应该完成几个额外的设置步骤:

  1. 选择[CYGWIN-INSTALL-PATH]\bin-folder作为git.exe文件夹。

  2. 在 Windows 中配置 HOME 环境变量,使 Cygwin 和 TortoiseGit 使用相同的主目录和全局 git-config。在此处使用正常的 Windows 表示法(例如,C:\Users\USERNAME)。默认情况下,TortoiseGit 使用通常位于 c:\Users 下的 Windows 主目录,而 Cygwin 使用位于 [CYGWIN-INSTALL-PATH]\home 下的自己的主目录。

  3. 配置AutoCrLf,这是必要的,因为 TortoiseGit 和 Cygwin Git 有不同的默认值。 Cygwin Git 中的默认值为true

  4. 转到 TortoiseGit 名为 Advanced Settings 的部分并将 CygwinHack 设置为 true 以激活 cygwin 解决方法。

  5. 重启。

第 4 步至关重要,为我解决了问题。

参考(参见 Cygwin Git 部分):https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html

【讨论】:

    【解决方案5】:

    只是在这里发布它作为答案,因为它可能对其他人有所帮助。

    如果您安装了 Cygwin 和 Tortoise Git,那么当您尝试合并添加 0 行和删除 0 行的代码时,它只会显示许多文件,这有点烦人。

    我尝试在 git config 中添加上述选项,但没有帮助。

    您可以简单地右键单击任何文件夹转到

    乌龟设置 -> 常规 -> 重新运行首次向导

    现在您可以通过指向其他 Git.exe 来更改 git.exe 的路径,或者如果您安装了 Gitbash,您也可以指向它的 git.exe。只要确保已经存在的路径应该是来自 Cygwin/bin/git.exe 的东西,应该更新到其他 git.exe。

    【讨论】:

      【解决方案6】:

      我刚刚遇到了这个问题,对我来说解决方法很简单。

      确保当前没有 git 进程正在运行,然后删除 .git\index.lock

      在此之后,我的文件的修改状态得到了正确处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-27
        • 2012-01-30
        • 2010-11-05
        • 2013-08-07
        • 2011-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多