[英]show current GIT branch name in windows command prompt
是否可以在常规 Windows 命令提示符中显示当前的 git 分支名称?
假设在 Windows 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.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
)
这是可能的。 您甚至可以为终端自定义主题。 以下是步骤:
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
notepad $PROFILE
打开您的“PowerShell”配置文件,并将这些行添加到文件末尾:(这是与“Windows 终端”配置文件不同的配置文件。PowerShell 配置文件是每次 PowerShell 启动时运行的脚本。)Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox
Cascadia Code PL
Cascadia Mono PL
Ctrl+,
打开“settings.json”中的 Windows 终端配置文件设置,并将这些行添加到“配置文件”的“默认”部分,如下所示:"fontFace": "Cascadia Code PL"
PS 1:如果你想在VS Code上的集成终端上进行这些更改,你应该在VS Code的设置中添加这一行:
"terminal.integrated.fontFamily": "Cascadia Code PL"
PS 2:想了解更多关于“Oh-My-Posh”并更改主题,请访问Oh-My-Posh的github页面以获取更多信息。
资料来源:
https://docs.microsoft.com/en-us/windows/terminal/tutorials/powerline-setup https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows -terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh
如果您使用的是 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 提供了一个很棒的命令行视图。 它还支持上下文菜单,可以通过右键单击从任何位置打开。
是的,你可以。 您可以创建一个脚本并将其命名为“gb.bash”,然后向其中添加以下代码
@echo off
set GITBRANCH=
for /f "tokens=2" %%I in ('git.exe branch 2^> NUL ^| findstr /b "* "') do set GITBRANCH=%%I
if "%GITBRANCH%" == "" (
prompt $P$G
) else (
prompt $P $C$E[10;7;32;47m%GITBRANCH%$E[0m$F $G
)
然后转到您的环境变量并将包含此脚本的文件夹添加到您的路径中。
有了它,只需在终端上触发命令“gb”,而在 git 存储库中,分支名称将放置在您当前所在文件夹的路径上。
目前,此解决方案要求您手动触发命令“gb”来触发脚本。 但是,我确定还有一种方法可以在您启动 CMD 时自动触发脚本。 我会研究一段时间并更新这个答案。
我从这两个来源得到了解决方案:
免责声明:您必须在切换到新分支后触发 'gb' 以更新显示的分支名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.