DOSプロンプトでgitの現在のブランチ名を表示させる
bashやzshではgitの現在のブランチ名を表示させることができます。
そういった記事をよく見かけるんですが、Windows(DOSプロンプト)のケースを見たことがありませんでした。
Windowsでは出来ないのかなと思っていたんですが、一応は出来ることを今日発見。
表示名を変更するbatの作成
:: abn.bat(apply-branch-name) :: 現在のgitブランチ名をプロンプトとタイトルに適用する @echo off :: 現在のブランチ名を取得 for /F "delims=" %%s in ('git symbolic-ref --short HEAD') do @set BRANCH=%%s :: プロンプト表示名を変更 prompt $P [%BRANCH%] $G :: プロンプトタイトルを変更 title %BRANCH%
たとえばこういう状態の場合。
C:\app\xampp\htdocs\hogeapp>
masterブランチにいる状態でbatを実行するとこうなります。
C:\app\xampp\htdocs\hogeapp [master] >
foo-featureブランチに移動したあとで実行するとこうなります。
C:\app\xampp\htdocs\hogeapp [foo-feature] >
欠点
ブランチが切り替わったことを検知できるわけではないので、
毎回手動でbatを叩く必要があります。
git checkoutが行われたタイミングでbat実行とかやりたかったけど、 よく分からず。
解決策
「gitの実行」と「batの実行」をラップしたbatを作成します。
gitの操作はすべてそのbat経由にします。
:: wgit.bat(windows-git) :: gitコマンドへ処理を委譲したあとでabn.batを適用する git %* @echo off abn.bat
こんな感じで使います。
C:\app\xampp\htdocs\hogeapp [master] >wgit commit push origin master
苦肉の策。