我如何打印我的git别名列表,即,类似于bash别名命令的东西?
当前回答
使用Bash列出全局和本地Git别名。即使没有安装Git,也可以正常工作。
$ 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' -列出alias部分的内容 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
其他回答
正如其他答案所提到的,git config -l列出了配置文件中的所有配置细节。下面是我的配置输出的部分示例:
...
alias.force=push -f
alias.wd=diff --color-words
alias.shove=push -f
alias.gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
core.repositoryformatversion=0
core.filemode=false
core.bare=false
...
所以我们可以grep掉别名行,使用git config -l | grep alias:
alias.force=push -f
alias.wd=diff --color-words
alias.shove=push -f
alias.gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
我们可以通过删除别名来使它更漂亮。每一行的一部分,留给我们这样的命令:
git config -l | grep alias | cut -c 7-
打印:
force=push -f
wd=diff --color-words
shove=push -f
gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
最后,不要忘记添加这个作为别名:
git config --global alias.la "!git config -l | grep alias | cut -c 7-"
享受吧!
$ 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 var,只过滤那些以alias开头的:
git var -l | grep -e "^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 ' 阅读一个特定的子命令或概念。
推荐文章
- 如何从终端/命令行调用VS代码编辑器
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- “你有邮件”的消息在终端,os X
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支