在 WSL bash 上,您可以在当前目录中调用窗口的 gitk 吗?

在 WSL bash 上,您可以在当前目录中调用窗口的 gitk 吗?

假设您正在使用 WSL cli bash,然后您想要使用gitk当前工作目录中的 Windows,您可以这样做吗?

问候,

答案1

如果你有适用于 Windows 的 Git安装后,您可以gitk.exe直接从 WSL 命令行调用 gitk,而无需安装任何其他软件。

唯一需要注意的是,Windows 版本的 gitk 无法识别 WSL 路径,只能识别 Windows 路径。这意味着你只能调用gitk.exe 从您的存储库中换句话说,如果/mnt/c/Users/arvil/working/my-repo是 Git repo,则执行以下操作:

$ cd /mnt/c/Users/arvil/working/my-repo && gitk.exe
$ cd /mnt/c/Users/arvil/working/my-repo/src && gitk.exe

但从外部调用它则不会:

$ gitk.exe /mnt/c/Users/arvil/working/my-repo
$ cd /mnt/c/Users/arvil/another-repo && gitk.exe ../my-repo
$ cd /mnt/c/Users/arvil/working && gitk.exe my-repo  # even this fails!

基本上,如果您需要向 gitk 传递路径,它将不起作用。

答案2

我来这里是因为我想做同样的事情。但是,在我最终成功启动 gitk 二进制文件后,它显然找不到源代码,因为 Windows 二进制文件不知道 WSL 格式的文件位置。也就是说,我在 WSL 中的文件位于/mnt/c/git/foobar

您可能可以创建一些符号链接或应用一些其他巧妙的技巧来使目录结构相同,但我选择了另一条路线;在 Windows 上安装 X 服务器并安装 elf-64 版本的 gitk。有几种选择,但这是我的工作配置:

  • 从安装 VcXsrvhttps://sourceforge.net/projects/vcxsrv/
    • 在安装过程中,我选择将 X 服务器设置为 0
  • 从 Windows 开始菜单启动 XLaunch
  • 从 WSL 上的 Ubuntu,
    • sudo apt install gitk
    • echo export DISPLAY=:0 >> ~/.bashrc && source ~/.bashrc
    • cd /mnt/c/git/foobar && gitk --all

答案3

如果您使用的是 Windows 11,那么您所要做的就是运行:

sudo apt update
sudo apt install gitk

无需费尽周折或安装 X 服务器即可工作。

相关内容