🐿️

[git] ForkをWSLに対して利用可能にする

2023/12/28に公開

はじめに

ForkというGitクライアントを個人でかなり愛用しているのですが、
基本的にはWindows版を使う場合、Windows上で使うことが想定されているので、WSL上のUbuntuではそのままでは使えません。
特にWindowsでは、Docker(あるいはdevContainer)を基軸にして開発しようと思うと、IO関連でWindowsは色々不具合が出がちなので、そのような開発環境を持ちたい場合はWSL上のUbuntuに管理の基軸をおいた方が不具合リスクが少なく利便性があります。

これを出来るようにする為の方法はググれば出てくるのですが、私の方でもまとめようと思い寄稿します。

手順

gitをアップデート

まず、利用する前にWSL上で作業したいOSにgitがインストールされている必要があります。
必要に応じてインストールまたはアップデートします。

wslgitをインストール

Windows側からWSLのGitを利用可能にするwslgitというツールがあり、それを利用させてもらうのが肝です。
以下のリポジトリのリリースページからzipをダウンロードし、Windows上の任意のパスに解凍します。
フォルダ内にはinstall.batがあるので管理者権限で叩くと、binフォルダが作成され、中にcmd/wslgit.exeを指すgit.exeが作成されます。

https://github.com/andy-5/wslgit

Gitインスタンスを設定

ForkのPreferencesGitからCustom Git Instanceを選択し、先程展開したgit.exeを指定します。

ここまでで基本的なことはOKで、普通に使えるようになります。

Git Insutance

Repository Managerの設定

ForkにはRepository Managerというメインとなるフォルダを設定して、そこに配置したローカルリポジトリ情報を色々参照できるホーム画面的機能があります。
ただ、GenelalでWSL側の任意のフォルダを指定する際、ファイルダイアログを開いてもアイコンクリックではアクセスできません。この為、直接パス指定します。

\\wsl.localhost\Ubuntu\home\XXのようなパスになります。

Repository Manager

署名付きコミットのGPG設定

署名付きコミットが行えるようにするには、Windows側のGPGを使えるように指定する必要があります。
user.signingkeyはWindowsと同じものを使いまわしています。
Gpg4Winを利用する例を以下に示します。

git config --global gpg.program "/mnt/c/Program Files (x86)/Gpg4win/../GnuPG/bin/gpg.exe"

おわりに

上記までで基本的な作業は終わりで、あとは普通にForkを起動すれば使えると思います。
快適なGitクライアントで良い開発者体験を得ましょう。

Forkはいいぞ。

参考文献

Discussion