我如何打印我的git别名列表,即,类似于bash别名命令的东西?


当前回答

$ git alias -h

'alias' is aliased to '!git config --list | grep 'alias\.' | sed 
's/alias\.\([^=]*\)=\(.*\)/\1\  => \2/' | sort'
a        => !git add . && git status
aa       => !git add . && git add -u . && git status
ac       => !git add . && git commit
acm      => !git add . && git commit -m

其他回答

$ git alias -h

'alias' is aliased to '!git config --list | grep 'alias\.' | sed 
's/alias\.\([^=]*\)=\(.*\)/\1\  => \2/' | sort'
a        => !git add . && git status
aa       => !git add . && git add -u . && git status
ac       => !git add . && git commit
acm      => !git add . && git commit -m

另一个git别名(称为alias)打印出git别名:添加以下到你的gitconfig [alias]部分:

[alias]
    # lists aliases matching a regular expression
    alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"

示例用法,给出完整的别名(与别名完全匹配:即^foobar$),并简单地显示值:

$ git alias st
alias.st status -s

$ git alias dif
alias.dif diff

或者,给regexp,它会显示所有匹配的别名和值:

$ git alias 'dif.*'
alias.dif diff
alias.difs diff --staged
alias.difh diff HEAD
alias.difr diff @{u}
alias.difl diff --name-only

$ git alias '.*ing'
alias.incoming !git remote update -p; git log ..@{u}
alias.outgoing log @{u}..

注意:引用regexp以防止将shell扩展为glob,尽管如果/当没有文件匹配该模式时,在技术上并不需要这样做。另外:任何regexp都可以,除了不能使用^(模式开始)和$(模式结束);它们是隐含的。假设您没有使用git-extras中的git-alias。

而且,显然你们的别名也会有所不同;这些只是我配置的几个。(也许你也会发现它们很有用。)

只是添加这个,因为它太简单了,我在以前的答案中没有看到它(如果我错过了它,对不起)。

git help -a

你必须滚动到底部(使用>作为ma11hew28指出)来查看列表,例如:

Command aliases
   restore-deleted      !git restore $(git ls-files -d)

如果你甚至忘记了这个开关,一个简单的git帮助将帮助你记住:

'git help -a'和'git help -g'列出了可用的子命令 概念指南。参见'git help '或'git help ' 阅读一个特定的子命令或概念。

打开。gitconfig文件(C:\Users\user.gitconfig)—Windows 在[别名]下复制并粘贴以下代码 别名= !git config——list | grep ^别名\\。| cut -c 7- | grep - ei——color \"$1\" "#" 在终端git alias——列出所有别名 在终端git别名commit——列出所有与提交相关的别名 获得所有别名的列表,而不记得代码:)

我创建了一个git别名(奇怪的是)别名正是为了这个目的…如果你经常使用混叠的话,会很方便。

$ git配置——全局别名。别名“config -get-regexp ^ Alias \.”

注意,regex确保行以别名开始。