简体   繁体   中英

Showing git branch in ConEMU

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

Git branch can be visible in plain cmd or Far Manager prompt.

cmd 提示符下的 GIT 分支

All magic is done with special ANSI sequences ("Inject ConEmuHk" and "ANSI X3.64 ..." options must be checked). I Run GitShowBranch /i to install showing branch, GitShowBranch /u to uninstall.

Also, you may run your cmd as following (within Task contents or ConEmu's Command line)

cmd /k ver & GitShowBranch /i

PS. File GitShowBranch exists in ConEmu's distro, but you may see it online .

Change the specified named task to {Bash::Git} in Settings -> Startup and you'll have branch name showing up.

设置截图

Yes there is a way. Install git bash , then in ConEmu settings, under the "ComSpec" section set the Explicit executable to "C:\\Program Files (x86)\\Git\\bin\\sh.exe" --login -i .

This runs a bash shell session, and gives you a fully resizable window, with the git tab completion and current working branch prompt.

Disclaimer #1

ConEmu is not a shell, so it does not provide "shell features" like tab-completion, command history and others.

Usually, Git information like branch or amount of changes is displayed in the command line prompt, for example C:\\path\\to\\repository [branch|+2~4-6]> . This is done by the executing shell, not the console frame.

As far as I know, the standard Windows command prompt (CMD) does not support modifying that. The bash that comes with Git for Windows already supports that perfectly though; and for PowerShell there are numerous extensions for Git, most notably posh-git .

To sum up the situation is:

显示分支名称

I know sh.exe can do this but needed to check if it is in the Git\\bin folder and have access by only writing sh in command line.

First I saw sh.exe in Git\\bin folder but wanted to see if I can execute on command line. To see it I checked environment vars using by echo %path% It was complicated to see if there is. I used powershell script and there is :)

I would have execute sh in command line too :)))

Refrences:

Codes:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM