我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

Git 的好处之一就是把代码的分支管理变成了一件极其便捷的事情,分支只保留差异,不用复制任何文件,不用连接网络,快速创建,用完即删。Git 分支与项目的复杂程度无关,不管你的项目多么复杂,创建 Git 分支永远都是瞬间的事情。同时,因为保留了父类分支的信息,所以分支的合并也变得异常简单。

当在一个项目中频繁使用多个分支时,可以使用 git status 命令查询自己现在正工作在哪个分支下面,不过难免有脑子发昏的时候,忘记自己在哪个分支下面,因而发生误操作之类的杯具。

那么把分支显示在 Shell 提示符中无疑方便了很多,再也不需要频繁的使用 git status 命令了…

实现原理很简单,大体就是查询当前目录下面的 Git 分支名称,然后嵌入到 PS1 变量中。那么,Git 分支名称可以通过下面的脚本轻松的获得:

git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's*/}"

            elif [[ $head != '' ]]; then

                git_branch=" → (detached)"

            else

                git_branch=" → (unknow)"

            fi

            return

        fi

        dir="../$dir"

    done

    git_branch=''

}

接下来,将这个函数加入到 PROMPT_COMMAND 中,保证 Bash 在创建 prompt 之前调用这个函数取得分支名称:
PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"

最后只要重新定义 PS1 变量即可:

# 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[$magentau$white@$greenh$white:$cyanw$yellow$git_branch$white]$ $normal"

以上的代码你可以放在 ~/.profile 或者 ~/.bash_profile 等文件中即可,我的系统是 Snow Leopard,PS1 定义在 /etc/bashrc 中,所以我直接修改的这个文件。

最终效果如下:

查看图片

UPDATE ? 2010/06/23:

如果你安装了随 Git 附送的 git-completion.sh 子命令自动完成脚本,也可以使用该脚本提供的方法:

export PS1="[u@h W"'$(__git_ps1 " (%s)")'"]$ "

Ubuntu 系统,请参考: /etc/bash_completion.d/git

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

Git 的好处之一就是把代码的分支管理变成了一件极其便捷的事情,分支只保留差异,不用复制任何文件,不用连接网络,快速创建,用完即删。Git 分支与项目的复杂程度无关,不管你的项目多么复杂,创建 Git 分支永远都是瞬间的事情。同时,因为保留
2022-06-04

如何实现在Shell提示符中显示Git分支名称

本篇内容介绍了“如何实现在Shell提示符中显示Git分支名称”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Git 的好处之一就是把代码的分
2023-06-09

在windows8中显示已知文件类型的扩展名的方法

1、在文件夹界面中点击“展开图标”按钮,如下图所示。或者按“Ctrl+F1”热键,展开功能区;2、点击文件夹菜单中的“查看”,然后点击“更改文件夹和搜索选项
2022-06-04

在linux系统下显示中文目录和文件名的方法

本篇内容主要讲解“在linux系统下显示中文目录和文件名的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在linux系统下显示中文目录和文件名的方法”吧!选择一个一劳永逸的方法,就是修改/e
2023-06-13

Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法

本文实例讲述了Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法。分享给大家供大家参考,具体如下: 先看效果图:源码如下: 布局文件:2022-06-06

在xp系统中插入U盘没有显示盘符问题的解决方法

生活中,我们经常会编程客栈使用U盘来拷贝或者是下载一些文件,但是有时在xp系统中插入编程客栈U盘居然没有显示盘符,那么要怎么办呢?我们一起去看看要怎么解决吧! 1.首先鼠标右键点击 "我的电脑",然后选择"管理"进入计算机管理(如图)2.进
2023-06-01

Win7在开始菜单中创建命令提示符快捷方式的方法图文教程

为了方编程便用户的操作,可以在Win7开始菜单中创建一个具有管理员权限的命令提示符快捷方式,通过这个快捷方式直接启动具有管理员权限的命令提示符窗口。具体操作步骤如下:1.点击“开始”→在开始菜单栏的js搜索
2023-06-14

win8系统激活失败时提示0X8007232B错误代码及DNS名称不存在的解决方法

在激活win8系统出现错误代码0X8007232B DNS名称不存在,具体现象如下所示:解决方法:1、鼠标右键点击桌面右下角的“网络”—“打开网络和共享中心”—&ldq
2022-06-04

在xp系统中插入U盘没有显示盘符问题的解决方法是怎样的

这篇文章给大家介绍在xp系统中插入U盘没有显示盘符问题的解决方法是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.首先鼠标右键点击 "我的电脑",然后选择"管理"进入计算机管理(如图)2.进入"计算机管理后",
2023-06-14

uniapp分享微信提示由于不支持的分享类型无法分享到微信,App分享为微信小程序方法,由于不支持的分享类型无法分享到微信,由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信.

文章目录 由于不支持的分享类型无法分享到微信(解决)由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信(解决)share:fail [Share微信分享:-3]Unable to send, https://ask.dcl
2023-08-20

编程热搜

目录