创建Git快捷方式

创建Git快捷方式有两个主要用例:

  1. 该命令非常常用,快捷方式将保存每种类型的击键:
    git commit--amend--no-edit
  2. 该命令很少使用,并且很难记住确切的正确选项:
    git log--graph\
            --abbrev-commit\
            --pretty= format: '%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'

在这两种情况下,都有不同的方法可以通过Git命令创建快捷方式。

外壳别名

最简单,最直接的方法是使用标准的shell别名:

alias gitamend='git commit --amend --no-edit'
如果选项本身包含简单的引号,则可能会很难看,就像上面的git log命令一样。 为了处理该特定情况,'的转义序列为'“'”“'。

Shell别名方法的好处是它可以执行Shell可以执行的所有操作, 例如管道命令,执行子Shell等。

例如,以下是我使用的快捷方式:它签出提交历史记录中的下一个提交-对于演示者在提交之间跳转非常有用:

alias gitnext='git checkout $(git rev-list --topo-order HEAD..master | tail -1)'

Git别名

先前的方法绝不是Git特有的。 但是,Git还通过git config命令本身提供了别名功能。 语法非常简单:

git config alias.<shortcut> <command>

例如,我将这种方法用于以下快捷方式:

git config alias.amend'commit --amend --no-edit'

现在可以简单地调用:

git amend

这种方式仅在当前Git存储库中配置快捷方式。 为了无论​​存储库如何都可以调用它,请使用通常的--global选项:

git config--global alias.amend 'commit --amend --no-edit'

也可以通过在其前面加上!来调用外部二进制文件!

git config alias.sourcetree'!/Applications/SourceTree.app/Contents/MacOS/Sourcetree'

Git扩展/插件/子命令

最后一种方法最强大,但也最脆弱。

我什至没有找到它在Git文档中被引用的位置,甚至根本没有被引用。 指针欢迎。

只需在$PATH上创建任何可执行文件或脚本,并将其命名为git-<command> 例如

git-foo
#!/bin/bash
echo  Hello  $1;

到那时,先前的脚本可以这样调用:

git foo John

结论

在Git中有几种创建快捷方式的方法:纯bash别名,正确的Git别名和适当命名的可执行文件。

  1. 第一种方法不是特定于Git的
  2. 第二个能够处理Git命令和选项组合
  3. 最后但并非最不重要的是,第三种方式允许将任何可执行文件集成到Git流中
更进一步:

翻译自: https://blog.frankel.ch/creating-git-shortcuts/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值