• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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'
    

    上篇:Git 自动补全