我有 Windows 10,并且正在使用 VS Code、Git for Windows 和 WSL2 和 Ubuntu 20.04 LTS(我通过 Windows 终端访问)。
我需要重置我的计算机,所以我在我的 Ubuntu 上 tar.gz 了一个本地存储库,并将该 tar.gz 存储在我的辅助驱动器上。
重置后,我重新安装了所有应用。
我将我的 repo 解压缩回 Ubuntu 中的同一位置,然后执行 chown -R gesslar:gesslar/path 以确保它上面有我当前的 ID。
在 Windows 终端中,使用 WSL2 配置文件,我 cd 到/path 并执行 git status,它说我没有要提交的更改。
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
但是,在 VS Code 中,我通过转到目录并在 Windows 终端的 WSL 配置文件中键入 code .
来访问它,它说我有 950 个待定更改。
如果我使用 Git Bash,我会得到类似的读数,它会显示大量标记为已删除的文件
对我来说 super 奇怪的是,尽管被标记为已删除,但该文件实际上是存在的。
在未跟踪的文件下,它说是新的文件实际上并不存在。
如果有人对此有什么奇怪的想法,我将不胜感激。我怀疑它与适用于 Windows 的 Git 有关,因为我认为 VS Code 正在使用它来确定更改,并且在 Git Bash 中我看到了这种奇怪之处。
注意 我知道有些人可能会建议我只是重新克隆,但我的工作目录是生产的副本,我们的 .gitignore 忽略了我需要在我的工作目录中使用的数千个数据文件,它们到处都是。如果可能的话,重建环境绝对是最后的努力。
最佳答案
这听起来真的很愚蠢,但是,我发现没有为 VS Code 安装 Remote WSL 扩展。
这不会阻止 Git for Windows 对什么是什么感到困惑,但是,它确实使 VS Code 能够使用 WSL 版本的 git 而不是 Windows 的 Git。
因此,结果是 VS Code 现在知道我的 WSL2 实例中我的 git repos/working 目录的实际状态。
感谢您的帮助,TTT。我非常感谢您的回复,我确实从他们那里学到了一些东西。 ♥
关于git - Git for Windows/WSL2/VS Code 的非常奇怪的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69166899/