我该如何打印出我的git别名列表,就像bash中的alias
命令一样?
另一个名为alias
的git
别名,用于打印出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
或者,提供正则表达式,显示所有匹配的别名和值:
$ 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}..
$ 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 aliases
和git get-alias
使用git aliases
可以获取您的git别名列表。
使用git get-alias <alias-name>
可以获取别名内容。
git config --global alias.aliases '!f() { git config --get-regexp "^alias\." | cut -d " " -f 1 | cut -d "." -f 2 ; }; f'
git config --global alias.get-alias '!f() { git config --get-regexp "^alias\." | grep $1 ; }; f'
$ cat ~/.gitconfig .git/config 2>/dev/null | sed -n '/alias/,/\[/p' | grep -v '^\['
co = checkout
br = branch
ci = commit
st = status
2>/dev/null
- 隐藏错误,以防配置文件不存在
sed -n '/alias/,/\[/p'
- 列出别名部分的内容
grep -v '^\['
- 隐藏部分标记(它们以左方括号开头)
相同命令的Bash别名
$ alias gita="cat ~/.gitconfig .git/config 2>/dev/null | sed -n '/alias/,/\[/p' | grep -v '^\['"
$ gita
co = checkout
br = branch
ci = commit
st = status