当我第一次使用mac电脑的时候,由于我是从事软件开发的程序员,所以必须经常要使用到git,然而发现在mac系统下,git不能实现命令的自动补全,然后网上查找资料,找到了解决办法,终于可以实现了git命令的自动补全功能,现在分享如下。

需要购买阿里云产品和服务的,点击此链接领取优惠券红包,优惠购买哦,领取后一个月内有效: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=fp9ccf07

安装Homebrew

首先安装配置Homebrew(注:如果已经安装过就跳过):

      HomeBrew的网址:https://brew.sh/index_zh-cn.html

 在终端输入如下命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后就会开始安装,中间会提示输入系统用户的密码,安装成功后会有如下提示:

此时可以在命令行中输入命令brew进行测试,可以看到如下结果,说明安装成功。

正式开始

一 、安装bash-completion

bash-completion 如果按照过了,请跳过步骤

$ brew install bash-completion

### 安装完成以后 查看

$ brew info bash-completion
### 会输出类似以下内容
==> Caveats
Add the following lines to your ~/.bash_profile:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi Homebrew's own bash completion script has been installed to
/usr/local/etc/bash_completion.d

将if…then…那一句添加到~/.bash_profile(如果没有该文件,新建一个)

重启终端,以上为安装bash-completion部分。

二、拷贝文件、设置路径

访问下面网站

https://github.com/git/git.git

找到”contrib/completion/”目录下的git-completion.bash ,然后点击编辑,拷贝其内容,复制到文本文件,保存为 git-completion.bash 文件
然后将文件用命令拷贝到 ~/ 目录下

$ cp xxx/git-completion.bash ~/.git-completion.bash

xxx 为文件所在目录,注意拷贝后的文件名称为 .git-completion.bash

在~/.bashrc文件(该目录下如果没有,新建一个)中添加下边的内容:

source ~/.git-completion.bash

三、 启动: 终端输入

$ source ~/.git-completion.bas

注:不输入的话,不会起作用

将下面这句话 添加到~/.bash_profile

if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi

不添加想要补全起作用,每次都需要执行
source ~/.git-completion.bash
补全才能生效

注:原文地址:http://blog.csdn.net/chenbifeng/article/details/51570606

Mac系统实现git命令自动补全的更多相关文章

  1. Mac平台下git命令自动补全

    一.安装bash-completion 安装Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...

  2. git 命令自动补全

    下载 Git 的源代码 使用如下命令即可下载: git clone https://github.com/git/git 复制 git-completion.bash 源代码下有个 contrib/c ...

  3. git命令自动补全

    git安装好后发现命令不能自动补全于是搜了很多方法,先按博客里面的方法试了下: 1.下载配置文件 git clone git://git.kernel.org/pub/scm/git/git.git ...

  4. Mac下git命令自动补全

    当我第一次在mac上安装git,[tab]补全装成功了,但是我没有记录,当我过一段时间在重装的时候,我已经忘记了,又是各种查资料,再次做一下简单的记录. 首先,我因为还是mac小白,所以使用Homeb ...

  5. mac git 命令自动补全

    步骤如下: 1.下载Git-completion.bash 或者直接使用SourceTree去clone到本地. 下载地址:https://github.com/markgandolfo/git-ba ...

  6. Mac 终端实现快速定位命令 自动补全目录

    基于macOS oh-my-zsh 切换终端主题 incr.zsh 实现快速定位命令 自动补全目录 效果预览 步骤 1.安装 oh-my-zsh sh -c "$(curl -fsSL ht ...

  7. Docker 命令自动补全?要的

    前言 不知道这个小伙伴有多久没用过 Docker 了, 突然对我说 Docker 命令怎么发生变化了 docker run ... #变成了 docker container run ... 他说,本 ...

  8. kubectl命令自动补全

    kubectl这个命令行工具非常重要,与之相关的命令也很多,我们也记不住那么多的命令,而且也会经常写错,所以命令自动补全是非常有必要的,kubectl命令行工具本身就支持complication,只需 ...

  9. kubernetes系列(小知识):kubectl命令自动补全

    kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...

随机推荐

  1. js prototype 继承

    //继承 function inherits(ctor,superCtor){ ctor.super_ = superCtor; ctor.prototype = Object.create(supe ...

  2. Oracle RAC 实验环境RMAN备份v1.01

    Oracle RAC 实验环境RMAN备份v1.01 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + RAC 11.2.0.4 (2 nodes) 需求:制定RAMN备份策略 版 ...

  3. Xamarin.Forms(一) Visual Studio 连接安卓模拟器(逍遥安卓)

    刚开始学习Xamarin.Forms的时候总是比较困难的,连接安卓模拟器就花了我好长时间,后来在网上找到了方法: 1.打开adb.exe所在目录: 如:cd F:\Android\android-sd ...

  4. NYOJ--113--字符串替换

    /* Name: NYOJ--113--字符串替换 Author: shen_渊 Date: 18/04/17 15:41 Description: 字符串水题,秒过 */ #include<b ...

  5. Java 运行期数据区

    对于 Java 开发者来说,由虚拟机进行内存管理是把双刃剑,一方面免去了繁杂的内存管理工作,另一方面,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,排查问题将成为一项艰难的工作. ...

  6. 史上最全的java随机数生成算法[转载]

    package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static fin ...

  7. 准备 macvlan 环境 - 每天5分钟玩转 Docker 容器技术(54)

    除了 overlay,docker 还开发了另一个支持跨主机容器网络的 driver:macvlan. macvlan 本身是 linxu kernel 模块,其功能是允许在同一个物理网卡上配置多个 ...

  8. python学习===从一个数中分解出每个数字

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...

  9. 关于HTML应用中的实操细节

    在编写HTML程序时,初阶段在打编码时容易忽视语法方面的问题,如大小写,中英文切换标点等.正常在编码时出现语法问题自己很难发现,所以刚开始练习特别要注重语法方面的规范,另外在编码时要有规范的书写方式, ...

  10. 迭代器(Iterator)

    迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Itera ...