通常のWindowsコマンドプロンプトで現在のgitブランチ名を表示することは可能ですか?
ウィンドウ7または10で言ってみましょう。
Windowsベースの「コマンドプロンプト」からこれを行うことはできません。ただし、Windows環境の上で実行できる環境があります。
Git Windowsインストーラーを実行して git のインストールを許可すると、コンテキストメニューからgit-bashを呼び出すことができます。
デフォルトでは、git-bash環境には現在のブランチが表示されます。
これは私が使用しているgit.batです。私は次のリンクから答えを得ました:
https://www.nu42.com/2016/05/display-git-branch-windows-command-Prompt.html
まず、フォルダーにgit.batファイルを作成してから、フォルダーをPATHに追加し、先頭にgit.exeを追加します(コンピューターにgit.exeが既にインストールされていると想定しています)。これにより、コマンドラインでgitと入力するたびに、git.exeの代わりに新しいgit.batがトリガーされます。
@echo off
git.exe %*
set GITBRANCH=
for /f %%I in ('git.exe rev-parse --abbrev-ref HEAD 2^> NUL') do set GITBRANCH=%%I
if "%GITBRANCH%" == "" (
Prompt $P$G
) else (
Prompt $P $C$E[32;7;32;47m%GITBRANCH%$E[0m$F $G
)
Windows PowerShellを使用している場合は、使用しているPowerShellウィンドウで次のコマンドを実行することにより、標準の「プロンプト」機能をオーバーライドできます。これにより、Gitリポジトリが検出され、プロンプト文字列にGitブランチが一覧表示されます。
Function Prompt
{
$git_cmd = "git rev-parse --abbrev-ref HEAD"
Invoke-Expression $git_cmd 2> $null | Tee-Object -Variable git_branch | Out-Null
$git_branch_text = $None
if ( $git_branch -And -Not $git_branch.StartsWith($git_cmd))
{
$git_branch_text = "[$git_branch] "
}
$stringBuilder = New-Object System.Text.StringBuilder
$null = $stringBuilder.Append("PS ")
if ($git_branch_text) { $null = $stringBuilder.Append($git_branch_text) }
$null = $stringBuilder.Append($($executionContext.SessionState.Path.CurrentLocation))
$null = $stringBuilder.Append($('>' * ($nestedPromptLevel + 1)))
$null = $stringBuilder.Append(" ")
return $stringBuilder.ToString()
}
PS C:\Users\username\Document\GitHub>
PS C:\Users\username\Document\GitHub>cd code_repository
PS [dev] C:\Users\username\Document\GitHub\code_repository>
PS [dev] C:\Users\username\Document\GitHub\code_repository>cd ..
PS C:\Users\username\Document\GitHub>
PowerShellバージョン5.1.17763.592でテスト済み。
すべてのPowerShellコマンドウィンドウでこのプロンプトの変更を適用するには、この関数をC:\ Users\username\Documents\WindowsPowerShellのprofile.ps1という名前のファイルに入れます。 Gitリポジトリの一部であるディレクトリにある場合、それ以降に開かれたPowerShellコマンドウィンドウにはGitプロンプトが表示されます。
私は babun を使用しています。これはgitの素晴らしいコマンドラインビューを提供します。また、コンテキストメニューをサポートしており、右クリックで任意の場所から開くことができます。