Können Sie während der WSL-Bash das Gitk von Windows im aktuellen Verzeichnis aufrufen?

Können Sie während der WSL-Bash das Gitk von Windows im aktuellen Verzeichnis aufrufen?

Angenommen, Sie arbeiten an der WSL-Befehlszeilenschnittstelle Bash und möchten dann gitkWindows in diesem aktuellen Arbeitsverzeichnis verwenden. Ist dies möglich?

Grüße,

Antwort1

Wenn Sie habenGit für Windowsinstalliert ist, können Sie gitk gitk.exedirekt von der WSL-Befehlszeile aus aufrufen, ohne zusätzliche Software installieren zu müssen.

Der einzige Vorbehalt besteht darin, dass die Windows-Version von gitk keine WSL-Pfade versteht, sondern nur Windows-Pfade. Das bedeutet, dass Sie nurgitk.exe aus Ihrem RepositoryMit anderen Worten, wenn /mnt/c/Users/arvil/working/my-repoes sich um ein Git-Repo handelt, funktioniert Folgendes:

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

Ein Aufruf von außen führt jedoch nicht zu Folgendem:

$ 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!

Wenn Sie Gitk einen Pfad übergeben müssen, funktioniert es grundsätzlich nicht.

Antwort2

Ich bin hierher gekommen, weil ich dasselbe tun wollte. Nachdem ich die Gitk-Binärdatei endlich erfolgreich gestartet hatte, konnte sie den Quellcode offensichtlich nicht finden, da die Windows-Binärdatei die Dateispeicherorte im WSL-Format nicht kennt. Das heißt, meine Dateien in WSL befinden sich auf /mnt/c/git/foobar.

Sie können wahrscheinlich einige symbolische Links erstellen oder andere clevere Tricks anwenden, um die Verzeichnisstruktur gleich zu halten, aber ich bin stattdessen den anderen Weg gegangen: Ich habe einen X-Server unter Windows installiert und eine Elf-64-Version von Gitk installiert. Es gibt mehrere Optionen, aber das hier ist meine Arbeitskonfiguration:

  • Installieren von VcXsrv vonhttps://sourceforge.net/projects/vcxsrv/
    • während der Installation habe ich ausgewählt, den X-Server auf 0 zu setzen
  • Starten Sie XLaunch über das Windows-Startmenü
  • von Ubuntu auf WSL,
    • sudo apt install gitk
    • echo export DISPLAY=:0 >> ~/.bashrc && source ~/.bashrc
    • cd /mnt/c/git/foobar && gitk --all

Antwort3

Wenn Sie Windows 11 haben, müssen Sie lediglich Folgendes ausführen:

sudo apt update
sudo apt install gitk

Funktioniert ohne großen Aufwand oder die Installation eines X-Servers.

verwandte Informationen