有时我会有一个像git log
或apt-get install
这样的双字命令,我想添加一个默认参数。例如,大多数情况下,我想将--abbrev-commit
参数添加到git log
,将-y
参数添加到apt-get install
。
git log --abbrev-commit
apt-get install --abbrev-commit
但是,我似乎无法创建一个涉及两个单词命令的别名:
$ alias 'git log'='git log --abbrev-commit'
bash: alias: `git log': invalid alias name
$ alias git log='git log --abbrev-commit'
bash: alias: git: not found
我该怎么做?
答案 0 :(得分:5)
你不能用shell别名做你正在尝试的事情。这不是他们的工作方式。您可以使用git配置处理的git
。运行:
git config --global log.abbrevCommit true
或者,编辑~/.gitconfig
并添加:
[log]
abbrevCommit = true
如果您希望拥有每个存储库行为而不是编辑全局配置,则可以删除--global
标记或编辑项目的.git/config
,而不是全局配置。
apt-get
一个会更难。但是,您可以编写一个bash函数来执行此操作。像(未经测试)的东西:
apt-get() {
if [[ $1 == "install" ]]
then
command apt-get -y "$@"
else
command apt-get "$@"
fi
}
答案 1 :(得分:2)
在~/.gitconfig
内部:
[alias]
cm = commit -am
使用git config命令:
git config --global alias.cm "commit -am"