ごらくらいふ

プログラミングしたりゲームしたり

posh-gitを導入した

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ではスクリプトの実行ポリシーが RemoteSignedUnrestricted である必要がある。確認は 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 { " " }
}

f:id:yajamon:20210217225941p:plain

Good.

参考リンク