位置: 编程技术 - 正文

在 Shell 提示符中显示 Git 分支名称的方法(简述shell命令提示符的组成)

编辑:rootadmin

推荐整理分享在 Shell 提示符中显示 Git 分支名称的方法(简述shell命令提示符的组成),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell的提示符,shell命令提示符的组成,linux shell提示符,在shell提示符后,输入echo,在shell提示符下,在shell提示符下,shell命令提示符,在shell提示符后,输入echo,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

实现原理很简单,大体就是查询当前目录下面的 Git 分支名称,然后嵌入到 PS1 变量中。那么,Git 分支名称可以通过下面的脚本轻松的获得:把上面的脚本封装到函数中,修改 PS1 变量,嵌入函数… 大体是这样。但是这样也意味着一个问题,就是每次 shell 活动(比如切换目录,甚至只是敲下回车)都会执行一次 git … sed 命令,这样每次都启动2个进程,实在是有些不爽。

好在,可以使用另外一种方式来获取 Git 分支名称,在每个 Git 项目中,都有一个 .git 目录,这个目录下面有个叫做 HEAD 的文件,里面包含的当前分支的路径信息:

在 Shell 提示符中显示 Git 分支名称的方法(简述shell命令提示符的组成)

我们只要读取这个文件,然后再和对应的路径互相匹配一下就知道正确地分支名称了。不要只是简单的从 HEAD 内容中拆分出最后的 BRANCH-NAME,因为它不一定是正确地。

以下是 Aaron Crane 的实现方式:接下来,将这个函数加入到 PROMPT_COMMAND 中,保证 Bash 在创建 prompt 之前调用这个函数取得分支名称:

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

最终效果如下:

UPDATE ? //:

如果你安装了随 Git 附送的 git-completion.sh 子命令自动完成脚本,也可以使用该脚本提供的方法:Ubuntu 系统,请参考: /etc/bash_completion.d/git

Bash Shell中忽略大小写的设置方法 大多数人在使用Bash时,都会对其进行改造,因为默认的设置真的好难用~参考以下~/.inputrc设置:#donotshowhiddenfilesinthelistsetmatch-hidden-filesoff#autocompleteignor

分享个Unix/Linux 命令技巧 让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力。我已经找了很久了,现在就与你们分享。/path/to/file.log#或使用如下格式:/path/to/fil

linux下使用ssh远程执行命令批量导出数据库到本地 前天正在跟前端的同事调试功能。服务器开好,模拟的玩家登录好,就在倒计时。这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也

标签: 简述shell命令提示符的组成

本文链接地址:https://www.jiuchutong.com/biancheng/381172.html 转载请保留说明!

上一篇:Shell脚本实现启动PHP内置FastCGI Server(shell脚本启动应用程序)

下一篇:Bash Shell中忽略大小写的设置方法(shell忽略大小写)

  • 固定资产折旧会计处理
  • 捐赠的费用放在什么科目
  • 生产成本里面的直接人工
  • 员工可以签订两份劳动合同吗
  • 固定资产加速折旧的方法有哪些
  • 收到电子退库的摘要怎么写
  • 土地使用税延期还延续吗
  • 合伙企业是否需要缴纳增值税
  • 营业收入少入0.02怎么办
  • 税金及附加怎么计提
  • 工业总产值填报原则
  • 小规模纳税人开专票和普票的区别
  • 股权变更印花税双方都要交吗
  • 每月交的社保什么时候到账
  • 管理费用的纳税调整
  • 有限公司属于什么企业
  • 企业计提的工资薪金支出可以在税前扣除
  • 新会计准则开办费的账务处理
  • 计提增值税的账务处理小规模
  • 联想lenovo ideapad 320-15AST
  • 预缴的城建税怎么做账
  • 删除文件时不放大怎么办
  • 增值税一般纳税人和小规模纳税人的区别
  • php的数组函数
  • 公司水费怎么算
  • PHP:imagepsslantfont()的用法_GD库图像处理函数
  • 想做酒水批发的生意怎么做?
  • 缴医保分录
  • 出口退税退的是啥
  • 基建借款属于什么科目
  • 中医诊所的税收分类编码
  • vue引用svg矢量图
  • css详解
  • sockas
  • 企业一次性伤残补助金赔偿标准
  • 购买银行承兑汇票怎么做账
  • 融资租赁租金计算公式有残值
  • 活动补助会计分录
  • 前一个月开的发票怎么查
  • php框架symfony
  • 有趣的 Go HttpClient 超时机制
  • mysql日志文件在哪里
  • 绩效奖个人所得税是多少
  • 商业保险可以从一家转到另一家吗
  • sql server 18486
  • 增值税专用发票查询系统官方网站
  • 增量留抵税额退税的计算公式为
  • 库存商品一直没有销售怎么办
  • 租来的厂房如何交税
  • 工作服入什么科目类别
  • 工程款的税费怎么计算
  • 季节性停工固定资产折旧计入什么科目
  • 收到对方开的红字发票怎么做账
  • 公司支付的培训费需要交税吗
  • 融资手续费计入长期待摊
  • 人力资源公司可以开培训费发票吗
  • 单位员工购买本地保险
  • 冲销应付账款暂估应付账款的分录怎么做
  • 流动资产周转天数下降说明什么
  • 建账的依据是什么
  • mysql安装配置教程5.7.26
  • sql 清除日志
  • win7开机后网络一直转圈怎么回事
  • fs是什么文件夹
  • linux系统怎么增大磁盘io
  • win7系统怎么访问共享文件
  • unity3d怎么删除模型
  • 小郭聊一聊
  • django实现登录注册功能
  • nodejs客户端框架
  • html里id
  • 简略说明本岗位最高风险的防范措施和现场处置方案
  • linux 消息队列 系统参数
  • 谈一谈你对人与自然关系的认识
  • windows捕获文件夹
  • 打不死的小强励志词句
  • 广东税务增值税发票查验平台
  • 出口发票与报关单名称不一致影响退税吗
  • 西安市国家税务局稽查局
  • 2019年十堰市高中录取分数线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设