git - Git for Windows/WSL2/VS Code 的非常奇怪的问题

标签 git visual-studio-code windows-subsystem-for-linux git-bash wsl-2

我有 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 个待定更改。

enter image description here

如果我使用 Git Bash,我会得到类似的读数,它会显示大量标记为已删除的文件 enter image description here

对我来说 super 奇怪的是,尽管被标记为已删除,但该文件实际上是存在的。 enter image description here

在未跟踪的文件下,它说是新的文件实际上并不存在。

如果有人对此有什么奇怪的想法,我将不胜感激。我怀疑它与适用于 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/

相关文章:

git - 如何使用开发分支中的一行命令更新本地 master 并重新设置其基准?

c# - 在 NET.Core 上的 VS Code 中对一个非常简单的 WebApi 进行故障排除

docker - 如何在 Visual Studio Code docker 容器内运行的 .devcontainer 使用的 env 文件中引用另一个环境变量?

c++ - CMake Generator for Visual Studio Linux 跨平台

git - 从 Bitbucket 克隆到本地 Android Studio 项目

git - 如何删除 GitHub 提交及其历史记录?

git - 如何在 Windows 上通过 SourceTree 使用 git 命令行

visual-studio-code - VS Code 终端 Java 隐藏路径

docker - kubectl : not found in WSL terminal

ubuntu - Windows10 WSL2 Ubuntu/Debian # 无网络