我如何打印我的git别名列表,即,类似于bash别名命令的东西?
当前回答
有一个内置的功能…试一试
$ __git_aliases
列出所有的别名:)
其他回答
从git 2.18开始,你可以使用git——list-cmds=alias
windows:
git config --list | findstr "alias"
两者都很好
1 -使用Get Regex
$ git config --get-regexp alias
2 -使用清单
$ git config --list | grep alias
有一个内置的功能…试一试
$ __git_aliases
列出所有的别名:)
我在全局的~/.gitconfig中使用这个别名
# ~/.gitconfig
[alias]
aliases = !git config --get-regexp ^alias\\. | sed -e s/^alias.// -e s/\\ /\\ $(printf \"\\043\")--\\>\\ / | column -t -s $(printf \"\\043\") | sort -k 1
产生以下输出
$ git aliases
aliases --> !git config --get-regexp ^alias\. | sed -e s/^alias.// -e s/\ /\ $(printf "\043")--\>\ / | column -t -s $(printf "\043") | sort -k 1
ci --> commit -v
cim --> commit -m
co --> checkout
logg --> log --graph --decorate --oneline
pl --> pull
st --> status
... --> ...
(注意:这适用于我在Windows上的git bash。对于其他终端,您可能需要调整转义。)
解释
!git config --get-regexp ^alias\\. prints all lines from git config that start with alias. sed -e s/^alias.// removes alias. from the line sed -e s/\\ /\\ $(printf \"\\043\")--\\>\\ / replaces the first occurrence of a space with \\ $(printf \"\\043\")--\\> (which evaluates to #-->). column -t -s $(printf \"\\043\") formats all lines into an evenly spaced column table. The character $(printf \"\\043\") which evaluates to # is used as separator. sort -k 1 sorts all lines based on the value in the first column
美元(printf \“\ 043 \”)
这只是打印用于列分隔的字符#(十六进制043)。我使用这个小hack,所以别名本身不字面上包含#字符。否则,它将在打印时替换这些#字符。 注意:如果您需要使用#符号的别名,请将此更改为另一个字符。
推荐文章
- 如何在Mac上设置我的默认shell,例如Fish?
- gitignore是什么?
- Git从另一个目录克隆
- 如何在Linux虚拟机的控制台中上下滚动
- 在这个数据库中&,<<,*是什么意思?yml文件?
- 如何获得我的代码的最新版本?
- 如何在git中找到原始/master的位置,以及如何更改它?
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何在终端中提高光标速度?
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 修改一个目录下所有文件和文件夹的权限为644/755
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?