在 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 儲存庫,則執行以下操作:

$ 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 伺服器即可運作。

相關內容