Можно ли отобразить текущее имя ветки git в командной строке Windows?
Скажем, на окнах 7 или 10.
Показать текущее имя ветки GIT в командной строке Windows
Ответ 1
Вы не можете сделать это из командной строки Windows. Однако существует среда, которая может работать поверх вашей среды Windows.
После запуска установщика Windows Git и разрешения установки git вы можете вызвать git-bash из контекстного меню.
По умолчанию среда git-bash показывает, в какой ветке вы находитесь.
Ответ 2
Это git.bat, который я использую. Я получил ответ по следующей ссылке:
https://www.nu42.com/2016/05/display-git-branch-windows-command-prompt.html
Сначала создайте файл git.bat в папке, затем добавьте папку в PATH и перед строкой git.exe (я предполагаю, что на вашем компьютере уже установлен git.exe). Это будет гарантировать, что каждый раз, когда вы вводите git в командной строке, новый файл git.bat будет запускаться вместо git.exe.
@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
)
Ответ 3
Я использую Бабун Он предоставляет потрясающий вид командной строки для git. Он также поддерживает контекстное меню и может быть открыт из любого места при щелчке правой кнопкой мыши.
Ответ 4
Если вы используете 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, поместите эту функцию в файл с именем profile.ps1 в C:\Users\username\Documents\WindowsPowerShell. Любые окна команд PowerShell, открытые после этого, должны иметь приглашение Git в каталоге, который является частью репозитория Git.