在终端提示符当前git分支

我试图做一个小工具(也许它已经存在)来帮助从终端处理存储库和分支。在终端提示符当前git分支

基本上这个想法是在提示符下输入分支的名称(类似于虚拟环境,它也显示提示中的当前环境)。

下面的命令只是提取分公司目前我在名字。

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

包括这在我的.bashrc文件修改PS1作品,但只有当控制台打开时改变了提示。

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

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

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

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

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

谢谢

回答:

将此代码添加到〜/ .bashrc。添加完后不要忘记使用source命令。

parse_git_branch() { 

git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'

}

export PS1="\[email protected]\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "

希望这可能有所帮助。

回答:

首先是检查你是否在一个Git仓库,然后用符号-REF命令解压:

function gitbranch 

{

if git rev-parse --git-dir &>/dev/null; then

printf "%s" "[$(git symbolic-ref HEAD --short)]"

fi

}

export PS1="\[email protected]\h \[\033[32m\]\w\[\033[33m\]\$(gitbranch)\[\033[00m\] $ "

将它添加到你的.bashrc文件。

以上是 在终端提示符当前git分支 的全部内容, 来源链接: utcz.com/qa/262428.html

回到顶部