在 Shell 提示符中显示 Git 分支名称

| 导语 如果你是用命令行来使用Git的话,当在一个项目中频繁使用多个分支时,可以使用 git status 命令查询自己现在正工作在哪个分支下面,不过难免有脑子发昏的时候,忘记自己在哪个分支下面,因而发生误操作之类的杯具。 那么把分支显示在 Shell 提示符中无疑方便了很多,再也不需要频繁的使用 git status 命令了…

废话不多,直接上代码,放到 ~/.bash_profile 或者 ~/.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"

# Heree


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"

 
时间: 2024-12-27 23:55:54

在 Shell 提示符中显示 Git 分支名称的相关文章

Shell颜色及显示git分支配置

# Ubuntu终端下命令行颜色配置 ## 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/*

Ubuntu16.04显示git分支状态

参考文章 Ubuntu上使终端显示Git分支(oh-my-zsh) oh-my-zsh的安装与基本配置 Ubuntu 下安装oh-my-zsh 前言 之前学习Laravel的时候,经常要切换git分支,然而现有的shell里面不显示分支状态总是要用git st,git br -a显得很是麻烦,于是到网上查找方案: 一开始找到是修改~/.bashrc文件,可是修改完之后总是shell显示总是会出现这样那样的小错误,无奈之下寻找其他方案,这下让我找到大神器: oh-my-zsh 废话不多说,进入正题

在vim中显示git commit的文件

我们常常想看到一个git commit当中修改的所有文件,并编辑其中的一部分,通常我们是git show #SHAxxxx, 然后再在编辑器中找到对应文件并打开,如果你用vim,那问题就简单了,一行搞定: vim -pn $(git show --pretty="format:" --name-only SHAxxxx ) 其中$()是sub shell, 也可以写成shell: function gitvim(){ vim -pn $(git show --pretty="

idea 右下角不显示git分支

开发工程中遇到idea右下角不显示git分支问题: 解决方案:查找资料说是需要打开VCS->Enable version control. 但是Enable version control 已经打开, 最后自己发现是状态栏被隐藏了. 原文地址:https://www.cnblogs.com/mxmbk/p/9267975.html

Eclipse中切换GIT分支

切换GIT分支: 右击项目--Team--Switch To--选择你要切换的分支. 原文地址:https://www.cnblogs.com/Big-Boss/p/9494465.html

jenkins 构建时显示git分支插件、显示构建分支插件

参数化构建分支 1.安装插件:Git Parameter 2.找到我们在Jenkins中建立的工程,勾选“参数化构建过程”,并如下配置 3.在“源码管理”中如下配置 Jenkins构建完显示构建用户和构建分支 1.Jenkins上安装两个插件:description setter plugin(user build vars,显示构建账号,我没用到) 2.在Jenkins的系统管理---全局安全配置中找到标记格式器(Mark formatter) 将纯文本设置为 Safe HTML 3.找到我们

mac bash上显示git分支与状态

主要实现 显示当前路径 显示当前所在分支 显示当前修改状态 = 表示一个干净的分支 ~ 表示文件有改动 # 表示已commit 但未 push 通过网上搜索和自己根据实际需要修改的代码如下: .bash_profile function parse_git_dirty { local git_status=$(git status 2> /dev/null | tail -n1) || $(git status 2> /dev/null | head -n 2 | tail -n1); loc

eclipse中解决git分支合并冲突

冲突场景: 在master分支上有文件student.py. 在master上增新一个dev分支 在dev分支上修改文件student.py.增加函数def d():,并commit; 在master分支上修改文件student.py.删除函数def a():,并commit; 在master分支上合并dev分支,git提示冲突,如下图: 原因分析: 在master和dev分支上均对文件student.py进行了修改,导致合并是出现错误,具体原因可以见 http://www.liaoxuefen

修改git分支名称

场景:将分支名称为 oldbranch 改为 newbranch 步骤: 1.将本地分支oldbranch切一个分支到本地 git branch -m oldbranch newbranch 2.删除远程分支    git push --delete origin oldbranch     3.将本地新分支推送到远程   git push origin newbranch   原文地址:https://www.cnblogs.com/xuwenjin/p/10298015.html