【发布时间】:2020-05-19 13:49:17
【问题描述】:
首先,我看到有一些关于这个主题的问题,我已经解决了这些问题,但现在能够解决我的问题。大多数其他问题似乎都与 EOL 有关,而我的案例似乎与此有关。
问题:git checkout正在修改和删除文件。
我今天早上遇到了这个问题,并从克隆存储库的新副本开始,因此此时此特定 git 存储库的更改数量有限。
环境:
- 在 Windows 10 上使用在 ConEmu 中运行的 Git Bash 终端
- 打开具有 git 源选项卡的 Visual Code
- 打开 GitKraken,它是一个 git 管理应用程序
-
git --version= "git 版本 2.23.0.windows.1" -
git config --get core.autocrlf= "真"
列出了其他正在运行的 git 相关应用程序,因为我认为它们可能会以某种方式做出贡献
正如你在下面的截图中看到的,我做了以下事情:
- 重置我的候选分支,因为我有一个更改的文件
- 做了一个
git status来证明本地候选分支中没有更改的文件 - 对功能分支进行了检查 (PDEV-937)。这是我从原点提取的其他人的功能分支。
-
git status表明我的工作目录发生了某种变化。这些更改似乎是已删除的文件或已通过删除所有内容修改的文件(剩下一个空行)。
我无法解释结帐时的文件修改,最令人沮丧的部分是没有始终如一的完成。在第一个屏幕截图之后,我立即尝试重置功能分支以匹配原点。您可以看到每次重置都实现了不同的状态(我继续重置,在另外两次调用后,我最终直接工作,没有任何变化)。
我想要的结果是 git checkout 不会修改或删除任何文件(这是我的期望)
更新:似乎我只是在检查另一个特定开发人员的分支以进行代码审查时才遇到这个问题。他使用 Linux,而我使用 Windows,尽管我还没有弄清楚这是如何导致问题的;它也非常一致。我可以克隆 repo,检查特定的功能分支,一切都很好。在该分支上做一些樱桃选择/重置/合并,然后我签出的下一个功能分支将再次修改文件。重新克隆 repo 并检查第二个功能,它会再次正常。
【问题讨论】: