`
wbj0110
  • 浏览: 1611421 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

技巧和窍门

    博客分类:
  • Git
Git 
阅读更多

在结束本章之前,我还想和大家分享一些 Git 使用的技巧和窍门。很多使用 Git 的开发者可能根本就没用过这些技巧,我们也不是说在读过本书后非得用这些技巧不可,但至少应该有所了解吧。说实话,有了这些小窍门,我们的工作可以变得更简单,更轻松,更高效。

自动补全

如果你用的是 Bash shell,可以试试看 Git 提供的自动补全脚本。下载 Git 的源代码,进入 contrib/completion 目录,会看到一个 git-completion.bash 文件。将此文件复制到你自己的用户主目录中(译注:按照下面的示例,还应改名加上点:cp git-completion.bash ~/.git-completion.bash),并把下面一行内容添加到你的 .bashrc 文件中:

source ~/.git-completion.bash

也可以为系统上所有用户都设置默认使用此脚本。Mac 上将此脚本复制到 /opt/local/etc/bash_completion.d 目录中,Linux 上则复制到 /etc/bash_completion.d/ 目录中。这两处目录中的脚本,都会在 Bash 启动时自动加载。

如果在 Windows 上安装了 msysGit,默认使用的 Git Bash 就已经配好了这个自动补全脚本,可以直接使用。

在输入 Git 命令的时候可以敲两次跳格键(Tab),就会看到列出所有匹配的可用命令建议:

$ git co<tab><tab>
commit config

此例中,键入 git co 然后连按两次 Tab 键,会看到两个相关的建议(命令) commit 和 config。继而输入 m<tab> 会自动完成 git commit 命令的输入。

命令的选项也可以用这种方式自动完成,其实这种情况更实用些。比如运行 git log 的时候忘了相关选项的名字,可以输入开头的几个字母,然后敲 Tab 键看看有哪些匹配的:

$ git log --s<tab>
--shortstat  --since=  --src-prefix=  --stat   --summary

这个技巧不错吧,可以节省很多输入和查阅文档的时间。

Git 命令别名

Git 并不会推断你输入的几个字符将会是哪条命令,不过如果想偷懒,少敲几个命令的字符,可以用 git config 为命令设置别名。来看看下面的例子:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

现在,如果要输入 git commit 只需键入 git ci 即可。而随着 Git 使用的深入,会有很多经常要用到的命令,遇到这种情况,不妨建个别名提高效率。

使用这种技术还可以创造出新的命令,比方说取消暂存文件时的输入比较繁琐,可以自己设置一下:

$ git config --global alias.unstage 'reset HEAD --'

这样一来,下面的两条命令完全等同:

$ git unstage fileA
$ git reset HEAD fileA

显然,使用别名的方式看起来更清楚。另外,我们还经常设置 last 命令:

$ git config --global alias.last 'log -1 HEAD'

然后要看最后一次的提交信息,就变得简单多了:

$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800

    test for current head

    Signed-off-by: Scott Chacon <schacon@example.com>

可以看出,实际上 Git 只是简单地在命令中替换了你设置的别名。不过有时候我们希望运行某个外部命令,而非 Git 的子命令,这个好办,只需要在命令前加上 ! 就行。如果你自己写了些处理 Git 仓库信息的脚本的话,就可以用这种技术包装起来。作为演示,我们可以设置用 git visual 启动 gitk

$ git config --global alias.visual '!gitk'

http://git-scm.com/book/zh/Git-%E5%9F%BA%E7%A1%80-%E6%8A%80%E5%B7%A7%E5%92%8C%E7%AA%8D%E9%97%A8

分享到:
评论

相关推荐

    PIC单片机3v技巧和诀窍

    PIC单片机3v技巧和诀窍

    microchip的 3V技巧和诀窍

    microchip的 3V技巧和诀窍,全面讲解了3V系统的硬件设计相关问题哦

    比较器技巧和诀窍

    接下来,我们将详细解读这些应用以及相关的技巧和诀窍。 首先,低电池电量检测是许多便携式设备必须面对的问题。当电池电量下降至一定程度时,设备可能无法正常工作。为了检测这一点,可以构建一个基于比较器的电路...

    Flash Builder4.5使用技巧和窍门

    Flex Builder4.5使用技巧和窍门

    Visual Studio 2005 IDE 技巧和窍门

    ### Visual Studio 2005 IDE 技巧和窍门 #### 概述 随着.NET Framework 2.0以及Visual Studio 2005的推出,开发者们迎来了一个全新的编程时代。这一版本不仅包含了诸如C# 2.0、ASP.NET 2.0等重要更新,还引入了...

    电路电压变换技巧和诀窍

    Microchip所提供的这份文档不仅提供了从5V到3.3V电压转换的各种技巧和诀窍,还深入探讨了不同电压级别下的数字和模拟信号转换方法。这些技术和方法对于电子工程师来说是非常宝贵的资源,可以帮助他们在设计过程中...

    读取和比较日期、时间和计数器的技巧和窍门_PLC_

    本篇文章将深入探讨在PLC中读取和比较日期、时间和计数器的技巧和窍门。 1. **日期和时间的处理**: - **数据类型**:西门子PLC支持多种日期和时间数据类型,如DT(日期时间)、TM(时间)和CT(计时器)。DT用于...

    ASPNET移动Web应用程序的构建技巧和窍门PPT.ppt

    本文将深入探讨构建ASP.NET移动Web应用程序的关键技巧和窍门。 1. **Mobile Internet Toolkit (MIT)**: Mobile Internet Toolkit是ASP.NET的一部分,它使得开发者可以轻松地创建适应各种移动设备的Web应用程序。...

    西门子检查兼容性的技巧和窍门.pdf

    本文将详细介绍西门子检查兼容性的技巧和窍门。 首先,STEP 7项目版本的兼容性问题。在不同的STEP 7软件版本中,项目文件是可以相互兼容的,但前提是高版本STEP 7创建的项目文件不能使用低版本软件所不支持的组件和...

    转换至模块化DMM的技巧和窍门

    模块化DMM(数字万用表)是测试测量领域中的一项重要技术进步。...掌握上述转换过程中的技巧和窍门,能够帮助用户更为顺利地完成从传统DMM到模块化DMM的过渡,充分发挥新设备的潜力,以适应不断变化的测试需求。

    3.3V至5.0V连接技巧和诀窍.zip

    在电子设计领域,3.3V到5.0V的信号...综上所述,3.3V至5.0V的连接技巧和诀窍涵盖了多个工程领域,包括电源管理、信号处理、保护措施以及系统级设计考虑。理解和掌握这些知识点,对于设计出稳定可靠的电子系统至关重要。

    使用苹果手机必须了解的24条iPhone4的使用小技巧和窍门.pdf

    【使用苹果手机必须了解的24条iPhone4的使用小技巧和窍门】 1. **导入电话本**:购买新iPhone 4后,首先要激活设备,通过数据线连接电脑和iTunes完成。若想从其他品牌手机(如诺基亚、三星)导入通讯录,可先将...

    使用 XSLT 样式表转换 Web 服务 WSDL 文档的技巧和诀窍

    【使用XSLT转换Web服务WSDL文档的技巧和诀窍】 在Web服务领域,WSDL(Web Services Description Language)文档扮演着至关重要的角色,它用XML格式详细描述了服务接口和实例的位置。WSDL的XML表示使得各种开发工具...

    Windows7下70个技巧和窍门.docx

    Windows7下70个技巧和窍门.docx

    在_AIX_中运行_Oracle_性能方面的技巧和诀窍

    ### 在AIX中运行Oracle性能方面的技巧和诀窍 #### 引言 随着技术的不断发展,IBM AIX 及其硬件平台(System p™)在性能优化方面不断更新,这要求系统管理员需紧跟最新的变化和技术趋势。对于在AIX上运行Oracle...

    有用的 Vue 模式、技术、技巧和窍门以及有用的精选链接 .zip

    Vue-模式有用的 Vue 模式、技术、技巧和窍门以及有用的精选链接。

    Web 服务编程技巧和窍门: 手工创建的 SOAP 消息中命名空间的处理

    本篇文章将深入探讨在手工创建SOAP消息时如何有效地管理命名空间,并以Java环境下的Web服务开发为例,提供实用技巧和窍门。 首先,了解XML命名空间的基本概念。命名空间是一个URI(Uniform Resource Identifier),...

Global site tag (gtag.js) - Google Analytics