git - Git for Windows/WSL2/VS Code 的非常奇怪的问题
问题描述
我有 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 中,我通过转到目录并code .
在 Windows 终端中输入我的 WSL 配置文件来访问它,它说我有 950 个待处理的更改。
如果我使用 Git Bash,我会得到类似的读数,它会显示大量标记为已删除的文件
对我来说超级奇怪的是,尽管被标记为已删除,但该文件实际上就在那里。
在未跟踪的文件下,它说是新的文件实际上并不存在。
如果有人对此有什么奇怪的想法,我将不胜感激。我怀疑它与适用于 Windows 的 Git 有关,因为我认为 VS Code 正在使用它来确定更改,并且在 Git Bash 中我看到了这种奇怪之处。
注意 我知道有些人可能会建议我只是重新克隆,但我的工作目录是生产的副本,我们的 .gitignore 忽略了我需要在工作目录中使用的数千个数据文件,它们到处都是. 如果可能的话,重建环境绝对是最后的努力。
解决方案
这听起来真的很愚蠢,但是,我发现没有为 VS Code 安装远程 WSL 扩展。
这不会阻止 Git for Windows 对什么是什么感到困惑,但是,它确实使 VS Code 能够使用 git 的 WSL 版本,而不是 Windows 的 Git。
因此,结果是 VS Code 现在知道我的 WSL2 实例中我的 git repos/working 目录的实际状态。
谢谢你的帮助,TTT。我非常感谢您的回复,我确实从他们那里学到了一些东西。♥</p>
推荐阅读
- java - 如何在 javafx 中制作“trello 外观”。矩形列表
- php - 获取产品属性参考 - Prestashop 1.7
- tableau-api - 在 ClickHouse 中使用 JOINS 和检查 NULL 的 Tableau 查询失败
- javascript - VueJS:根据查询变量更新数据
- sql - 如何在 PostgreSQL 中通过数组正确创建多个条目?
- arrays - 通过 Int 随机播放结构
- python - 计算由字典组成的给定列表中的城市数量?
- wordpress - 如何修复linkedin随机不显示共享的帖子图片?
- go - fmt.Println 中的可变变量展开
- python - 如何应用于具有多索引列的数据框中的一组列