当前位置: 首页 > 知识库问答 >
问题:

linux 终端实时显示当前分支如何及时更新?

阎安邦
2023-06-03

我按照下面这篇教程配置了linux终端实时显示当前git分支的功能:

https://www.phpernote.com/linux/1349.html

但是现在有个问题,切换到某个目录必须重新手动执行一下:

source ~/.bashrc

命令才会更新那个分支名称,比如我从一个非 git 目录切换到一个 git 目录,它不会显示当前的分支名称,必须重新 source 一下才会显示分支名称,从 git 目录切换到非 git 目录也一样,会带有一个分支名称,重新 source 一下才会消失。

请问需要如何处理一下才会实时跟着目录的实际情况显示呢?

共有2个答案

吉泰宁
2023-06-03

PS1变量设置:

PS1='[\u@\h \W $(git rev-parse --is-inside-work-tree >/dev/null 2>&1 && __git_ps1 " (%s)")]\$ '
周阳波
2023-06-03

根据你发的博客改的,这个博客的做法有点问题。

function find_git_branch {
    local dir=. head
    until [ "$dir" -ef / ]; do
        if [ -f "$dir/.git/HEAD" ]; then
            head=$(< "$dir/.git/HEAD")
            if [[ $head == ref:\ refs/heads/* ]]; then
                git_branch="<${head#*/*/}>"
            elif [[ $head != '' ]]; then
                git_branch=' (detached)'
            else
                git_branch=' (unknown)'
            fi
            return
        fi
        dir="../$dir"
    done
    git_branch=''
}

function myps1() {
    find_git_branch
    green=$'\e[1;32m'
    red=$'\e[1;31m'
    blue=$'\e[1;34m'
    normal_colours=$'\e[m'
    PS1="\[$green\]\u@\[$blue\]\w\[$red\]$git_branch\[$green\]\\$\[$normal_colours\]"
}

PROMPT_COMMAND=myps1
 类似资料:
  • 我只想它显示从当前时间增加30分钟到一天结束前-今天时间是09:46AM它应该显示像的特定日期。但在我的代码里它从00:00...23:30显示一整天。下面是我的代码:

  • 本文向大家介绍JavaScript实时更新当前的时间的示例代码,包括了JavaScript实时更新当前的时间的示例代码的使用技巧和注意事项,需要的朋友参考一下 实现的效果如下: 时间会实时更新 具体的JS代码如下 在控制台上可以实时的打印出当前的时间和星期 ps:js获取当前时间并实时刷新 效果如图: 代码如下: 到此这篇关于JavaScript实时更新当前的时间的文章就介绍到这了,更多相关js

  • 本文向大家介绍Python3显示当前时间、计算时间差及时间加减法示例代码,包括了Python3显示当前时间、计算时间差及时间加减法示例代码的使用技巧和注意事项,需要的朋友参考一下 摘要 在使用Python写程序时,经常需要输出系统的当前时间以及计算两个时间之间的差值,或者将当前时间加减一定时间(天数、小时、分钟、秒)来得到新的时间,这篇文章就系统的对这些进行总结。码字不易,喜欢请点赞!!! 包 这

  • 有人能告诉我如何在CentOS for Git中获得颜色编码选项吗?

  • vim退出后,终端如何显示vim的部分内容?? 退出时不要恢复终端屏幕,就是vim退出后,终端可以显示vim中的内容比如#include“iostream”

  • 问题内容: 如何将当前时间显示为: 在Python中。谢谢。 问题答案: 首先是快速而肮脏的方法,其次是精确的方法(识别日光的节省与否)。