Windows + PowerShell環境におけるGitの使い勝手を改善したくなり、posh-gitを導入した。
手順
repositoryの取得
2021/02/17時点において、posh-gitの v1 はまだ beta らしい。 v1未満のバージョンも、v1のbetaも不安定であることに変わりはないので、repositoryを取得し、masterの最新コミットを使うことにした。
# 自分は `ghq` コマンドを愛用している。
ghq get https://github.com/dahlbyk/posh-git.git
下準備
posh-git
v1 は PowerShell 5.x、または PowerShell Core 6.0 が必要らしい。バージョンの確認は$PSVersionTable.PSVersion
を見ればよい。- Windowsではスクリプトの実行ポリシーが
RemoteSigned
かUnrestricted
である必要がある。確認はGet-ExecutionPolicy
を実行すればよい。 git
コマンドが環境変数PATH
から参照できなくてはいけない。
Profileへの反映
posh-git
は、カレントパスの出力やサフィックスをよしなにやってくれる prompt
を標準で用意しているらしいが、自分好みの prompt
を定義することもできる。
posh-git
に求めているのは git
の情報を出力することだけなので、 Write-VcsStatus
を拝借すればよさそうだった。
Import-Module \path\to\posh-git-repo\src\posh-git.psd1 function prompt { $prompt = "" $prompt += "(*-w-) [$(Split-Path (Get-Location) -Leaf)]" $prompt += Write-VcsStatus $prompt += " > " if ($prompt) { "$prompt" } else { " " } }
Good.