有没有办法使用 VSCode 通过远程 SSH 运行“git difftool”?

问题描述 投票:0回答:2

正如标题所说,是否有一个扩展允许通过remotessh但在VSCode内运行difftool?我尝试了一些插件,但它们需要

--no-index
或设置
git worktree
,这是不可能在 VSCode 中配置 AFAIK 的。

我想使用 Beyond Compare 或 Araxis Merge 进行比较和合并,而不是使用 VSCode diff/merge

git visual-studio-code diff
2个回答
1
投票

VSCode 的远程 - SSH 扩展不支持在远程计算机上运行

git difftool
命令。

有一些扩展声称可以执行此操作,但它们需要设置

git worktree
,这是不可能在 VSCode 中配置的。

要使用 Beyond Compare 或 Araxis Merge 进行比较和合并,您可以通过在这些工具中打开文件并将它们与远程文件进行比较来在本地使用它们。

或者,您可以使用 DiffMerge 等第三方工具通过 SSH 运行

git difftool
命令。

步骤:

  1. 安装 DiffMerge。
  2. 配置 DiffMerge 以运行 Beyond Compare 或 Araxis Merge 作为
    git difftool
  3. 使用 DiffMerge 通过 SSH 比较和合并文件。

我希望这有帮助!


0
投票

不幸的是,没有扩展允许您在 VSCode 中远程运行 difftool。您尝试的扩展需要 --no-index 或设置 git worktree,这在 VSCode 中无法配置。

但是,您可以使用一种解决方法。您可以使用 sshfs 命令将远程目录挂载到本地计算机上。目录挂载后,您可以使用 VSCode difftool 来比较和合并文件。

以下是如何执行此操作的步骤:

在本地计算机上安装 sshfs 命令。 打开终端窗口并导航到要挂载远程目录的目录。 运行以下命令:

sshfs user@remote_host:/path/to/remote/directory .

远程目录将安装在您的本地计算机上。 打开 VSCode 并打开要比较的文件。 右键单击该文件并选择“与...比较”。 选择要与第一个文件进行比较的文件。 VSCode 将打开 difftool。

difftool 将比较两个文件并显示差异。然后您可以使用 difftool 合并文件。

完成后,您可以通过运行以下命令卸载远程目录:

fusermount -u .
© www.soinside.com 2019 - 2024. All rights reserved.