终端提示中的当前git分支

问题描述 投票:0回答:3

我正在尝试制作一个小工具(可能已经存在)来帮助处理来自终端的存储库和分支。

基本上,我们的想法是在提示符中包含分支的名称(类似于虚拟环境,它也会在提示符中显示当前环境)。

以下命令只提取我当前所在分支的名称。

git branch | grep "*" | cut -c3-

将此包含在我的.bashrc文件中以修改PS1工作,但只在控制台打开时更改提示。

我想每次更改文件夹cd my_foldercd ..时更新提示,所以如果我去另一个存储库,它会更新分支。

所以我为cd创建了一个别名,现在在执行cd后附加这个小脚本。

但是,如果我使用git更改分支,因为我没有更改文件夹,提示不会立即更新。

我也可以为git创建一个别名,但我的印象是我改变了太多的东西,也许这已经存在了。

为了避免重新发明轮子,这已经存在了吗?使用它是个好主意吗?

谢谢

git terminal git-branch
3个回答
0
投票

在〜/ .bashrc中添加此代码。添加后别忘了使用source命令。

parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

希望这可能有所帮助。


0
投票

首先是检查您是否在Git存储库中,然后使用symbolic-ref命令解压缩:

function gitbranch
{
    if git rev-parse --git-dir &>/dev/null; then
        printf "%s" "[$( git symbolic-ref HEAD --short )]"
    fi
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(gitbranch)\[\033[00m\] $ "

将其添加到.bashrc文件中。


0
投票

试试这个

=>按如下方式克隆存储库

git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it

=>安装它

  ~/.bash_it/install.sh

=>重新打开终端

© www.soinside.com 2019 - 2024. All rights reserved.