Git 未按预期使用 vscode 远程 ssh

Git isn't working as expected with vscode remote ssh

我最近试用了 vscode's remote SSH feature。设置和连接到远程服务器非常容易。

我将编辑器打开到一个目录,该目录是一个 git 存储库,并希望默认的 git 功能正常工作。但是,如果我编辑文件,vscode 不会显示文件中有修改的视觉指示。 git 选项卡不显示更改。我可以在 vscode 和 运行 git status 中打开终端,我确实看到了变化,所以我知道那实际上是在编辑文件。

如果我通过 ssh 进入服务器并 运行 git status 我确实注意到 vscode 更新并且现在在 git 选项卡中显示更改。但是在实际文件中更改的行号旁边仍然没有视觉指示。

按照link中的说明进行操作,我已经在/etc/sysctl.conf中更改了fs.inotify.max_user_watches的值,一切正常。

原来我的问题是我打开 VSCode 到远程服务器上的符号链接目录。如果我改为将它指向实际目录,一切正常!

@depontimatteo 的回答可能仍然适用,如果有人 运行 遇到这个具有大型代码库的问题。

是什么为我解决了这个问题:当 ssh-ing 到您的远程服务器时使用 -A 选项(转发您的 ssh-agent)。这将允许您使用来自客户端的 git 凭据连接到 git。

示例:

ssh username@servername -A 

或者直接输入

ForwardAgent yes

进入你的 ssh-config(ubuntu 上的~/.ssh/config)。