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);
    local git_now;
    if [[ "$git_status" != "" ]]; then
        #local git_now; # 标示
	#echo "${git_status}"
        if [[ "$git_status" =~ nothing\ to\ commit || "$git_status" =~  Your\ branch\ is\ up\-to\-date\ with ]]; then
            git_now="=";
        elif [[ "$git_status" =~ no\ changes\ added\ to\ commit ]]; then
            git_now=‘~‘;
       # elif [[ "$git_status" =~ Changes\ to\ be\ committed ]]; then #Changes to be committed
        #    git_now=‘*‘;
       # elif [[ "$git_status" =~ Untracked\ files ]]; then
        #    git_now="+";
       # elif [[ "$git_status" =~ Your\ branch\ is\ up\-to\-date\ with ]]; then
        #    git_now="#";
        fi
       # echo "${git_now}";
    elif [[ "$git_status" = "" ]]; then
	git_now="#";
    fi
   echo "${git_now}"
}

function git_branch {
    ref=$(git symbolic-ref HEAD 2> /dev/null) || return;
    echo "("${ref#refs/heads/}") ";
}

PS1="[\[\033[1;32m\]\w\[\033[0m\]] \[\033[0m\]\[\033[1;36m\]\$(git_branch)\[\033[0;31m\]\$(parse_git_dirty)\[\033[0m\]$ "

  

原文地址:https://www.cnblogs.com/yiyi17/p/11044441.html

时间: 2024-10-12 21:47:44

mac bash上显示git分支与状态的相关文章

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 废话不多说,进入正题

不在mac磁盘上显示的分区

使用过mac的用户大概都知道,HFS是mac格式分区.它是mac自身携带的分区,与Windows格式分区常会出现不兼容的现象,其中如果HFS磁盘有4个以上的分区,基本上磁盘是显示不出来的.这就造成了并不是所有的分区都在mac磁盘上显示. 1.造成这种状况的原因. 苹果磁盘工具混合GPT磁盘,当用户要超过一个磁盘分区和多个这些分区时是显示非HFS. 混合GPT也包含MBR表.但MBR具有4行代码的限制(4个分区),GPT部分都和MBR部分只有4分区.此外,在任何情况下,如果用户添加任何非HFS分区

idea 右下角不显示git分支

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

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/*

在mac os 上搭建git及初步使用

最近再一次和同学合作的项目中,因为两人缺乏经验,使用了通过u盘来进行代码统一管理的方法(简直是作死),于是痛定思痛,决定好好学习一下github这一开源的版本控制的神器,为下一次的合作项目打好基础. 首先,需要做的是在你的系统上安装好git,因为下载的xcode中已经带有git工具,打开xcode,选择prefercence,选择download中下载commandtool 然后在机器上为git初始化一个repository,mkdir一个目录,在目录下使用git init即可,成功后可以在这个

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}&

在git bash上操作Git

准备环境: ①电脑已安装git ②注册github账号 一.使用git控制台进行本地操作 ①打开Git Bash ②填写用户名和邮箱作为标识 分别输入以下两个命令: git config --global user.name "此处填写用户名" git config --global user.email "此处填写邮箱名" 此时可以输入git config --list 查看信息 ③将本机中某个文件夹设为仓库 用cd 文件路径 到要被设为仓库的文件夹 然后输入gi

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

| 导语 如果你是用命令行来使用Git的话,当在一个项目中频繁使用多个分支时,可以使用 git status 命令查询自己现在正工作在哪个分支下面,不过难免有脑子发昏的时候,忘记自己在哪个分支下面,因而发生误操作之类的杯具. 那么把分支显示在 Shell 提示符中无疑方便了很多,再也不需要频繁的使用 git status 命令了… 废话不多,直接上代码,放到 ~/.bash_profile 或者 ~/.profile里即可 ## Parses out the branch name from .

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

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