如何在终端实时展现当前运行的git分支

我们在终端操作git的时候,是可以实时的get到当前所在的分支的

操作文件:

~/.bash_profile

加入以下代码:

## Parses out the branch name from .git/HEAD:
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=" → (unknow)"
      fi
      return
    fi
    dir="../$dir"
  done
  git_branch=‘‘
}

PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"

# Here is bash color codes you can use
black=$‘\[\e[1;30m\]‘
red=$‘\[\e[1;31m\]‘
green=$‘\[\e[1;32m\]‘
yellow=$‘\[\e[1;33m\]‘
blue=$‘\[\e[1;34m\]‘
magenta=$‘\[\e[1;35m\]‘
cyan=$‘\[\e[1;36m\]‘
white=$‘\[\e[1;37m\]‘
normal=$‘\[\e[m\]‘

PS1="$white[$magenta\[email protected]$green\h$white:$cyan\w$yellow\$git_branch$white]\$ $normal"

保存后重启shell即可

时间: 2024-10-07 17:16:45

如何在终端实时展现当前运行的git分支的相关文章

saiku - 配置saiku实时展现查询数据

缘起: 在默认的情况下,saiku是不能对数据进行实时展现的,只能通过刷新按钮或者重启服务器来刷新数据 这样以来会有很多的麻烦,每天得手动去刷新,这个操作只有管理员可以操作,在刷新以前客户看到的都是缓存中的旧数据. 有人说写个shell去定时更新不行吗?这个做法当然可以. 除了这个做法,还可以让saiku查询完数据后即时加载. 不用数据库连接池,加载完成后立刻清除缓存中的数据,系统下次在加载的时候发现缓存是空的,就会自动去查询新数据,这样以来就可以做到实时展现. 具体修改如下: (1)编辑 sa

【转】使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)

一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行.(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼) 2:不影响计算效率 2:让程序在后台跑后,不会占据终端,我们可以用终端做别的事情. 二.怎么样使程序在后台执行 方法有很多,这里主要列举两种.假如我们有程序pso

实时导出正在运行的虚拟机或检查点

Windows Sever 2012 R2(和Windows 8.1)中一个非常少见的功能是能够导出一个或多个正在运行的虚拟机. 我们只需在Hyper-V管理器中选择右键单击并从上下文菜单中选择导出,然后按照向导选择导出位置.简单.这也可以通过PowerShell进行,因此您可以自动执行此操作.结果是我们可以导入的虚拟机可以为我们提供已保存状态的原始虚拟机的副本,并且可以在导出虚拟机的时间点进行复制. 越来越多的人似乎知道导出正在运行的虚拟机的检查点的能力,而不是导出正在运行的VM本身的许多能力

自定义控件设置属性并实时展现并预览在xib中

关键字: // @IBDesignable:实时看到xib设置后的效果 // @IBInspectable:给xib提供设置属性,可以xib中看到此属性 场景: 自定义一个UITextField,并提供borderColor.borderWidth.cornerRadius三个属性: 要求:这三个属性能够展现在xib中,改变属性值,能实时预览效果. 1.我们先自定义类: 1 import UIKit 2 3 // @IBDesignable:实时看到xib设置后的效果 4 @IBDesignab

Mac 终端显示git分支

1 进入你的home目录 cd ~ 2 编辑.bashrc文件 vi .bashrc 3 将下面的代码加入到文件的最后处 function git_branch { branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`" if [ "${branch}" != "" ];then if [ "${branch}&

快的打车架构实践

快的打车从2013年年底到2014年下半年,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,本文将会阐述快的打车架构演变过程遇到的一些有代表性的问题和解决方案. 一.LBS的瓶颈和方案 先看看基本的系统模型,如图1所示. 图1 系统模型示意图 司机每隔几秒钟上报一次经纬度,存储在MongoDB里: 乘客发单时,通过MongoDB圈选出附近司机: 将订单通过长连接服务推送给司机: 司机接单,开始服务. MongoDB集群是一主多从的复制集方式,读写都很密集

【Linux探索之旅】第三部分第四课:后台运行及合并多个终端

内容简介 1.第三部分第四课:后台运行及合并多个终端 2.第三部分第五课预告:延时执行,唯慢不破 后台运行及合并多个终端 上一课(<[Linux探索之旅]第三部分第三课:监视系统活动,滴水不漏>)中,我们简单介绍了进程,也学习了如何列出系统中的进程,如何过滤列表结果,还有如何结束进程. 这一课我们继续乘胜追击,一路向北,来学习进程的后台运行. 我们使用的终端让我们难免有一种感觉:我们每次只能在一个终端中运行一个进程.但其实这是大错特错的. 终端还可以运行后台进程.要使进程一个在后台运行,有几种

linux如何后台运行进程,而且不随终端关闭而关闭

参考:http://www.cnblogs.com/kaituorensheng/p/3980334.html 使用命令nohup:no hang up,表示关闭终端后,进程并不随着终端关闭而关闭 fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并

C语言实现文件实时更新

一.简介 在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程. 守护进程脱离了终端并且在后台运行:守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断. 本文介绍使用守护进程实现文件实时更新的方法步骤. 二.源码 文件1:Realtime_Update.c #include <stdio.h> #include <stdlib.h> #include <unistd.h>