在ConEMU中显示git分支

12
有没有一种方法在ConEmu中以视觉方式(背景或类似方式)显示git的分支?

背景?相似的东西?你想在哪里看到分支?最后使用什么shell? - Maximus
5个回答

52

Git分支可以在普通的cmd或Far Manager提示符中显示。

GIT branch in cmd prompt

所有的魔法都是通过特殊的ANSI序列实现的(必须勾选“Inject ConEmuHk”和“ANSI X3.64…”选项)。 运行GitShowBranch /i以安装显示分支,运行GitShowBranch /u以卸载。

此外,你可以像以下方式运行你的cmd(在任务内容或ConEmu的命令行中)

cmd /k ver & GitShowBranch /i

PS. GitShowBranch 文件存在于 ConEmu 的发行版中,但您也可以在线上查看。


1
有没有办法自定义分支名称?默认情况下,它是本地名称加上省略号再加上远程名称。太多了!我只想要本地分支名称。 - Kyeotic
无法检测省略号,但可以从第一个发现的句点处截断。 - Maximus

8

是的,有一种方法。安装git bash,然后在ConEmu设置中,在"ComSpec"部分中将显式可执行文件设置为"C:\Program Files (x86)\Git\bin\sh.exe" --login -i

这会运行一个bash shell会话,并为您提供一个完全可调整大小的窗口,具有git标签完成和当前工作分支提示。


这绝对是最好的方法(甚至有一个主题 http://superuser.com/questions/454380/git-bash-here-in-conemu) - maQ
这个并没有做任何事情。肯定还有其他需要完成的事情。 - Bruno Santos

8
在“设置” -> “启动”中更改指定的命名任务{Bash :: Git},然后您将看到分支名称显示出来。

1

免责声明 #1

ConEmu 不是一个 shell,因此它不提供像制表符补全、命令历史记录和其他功能一样的“shell 功能”。

通常,Git 信息(如分支或更改数量)会显示在命令行提示符中,例如 C:\path\to\repository [branch|+2~4-6]>。这是由执行 shell 而非控制台框架完成的。

据我所知,标准的 Windows 命令提示符 (CMD) 不支持修改该功能。但是,随 Git for Windows 一起提供的 bash 已经完美支持了这一点;对于 PowerShell,有许多 Git 扩展,最著名的是 posh-git


0
总结一下情况是:

showing branch name

我知道sh.exe可以做到这一点,但需要检查它是否在Git\bin文件夹中,并且只需在命令行中编写sh即可访问。

首先,我在Git\bin文件夹中看到了sh.exe,但想看看是否可以在命令行上执行。为了查看它,我使用了echo %path%来检查环境变量。这很复杂,所以我使用了PowerShell脚本,结果成功了 :)

我也想在命令行上执行sh :)))

参考资料:

代码:

echo %path%
($env:Path).split(";") | where ({$_ -like "*Git*"})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接