我正在尝试为git add *name*
创建一个别名,所以我可以像这样使用它:
git a foo
它会调用以下内容:
git add *foo*
我该怎么办?我试过了a = add *$1*
,但它不起作用。
答案 0 :(得分:3)
为了在git别名中计算shell变量($1
),它需要是shell git别名,而不是内置别名。这些是以!
为前缀的别名。
git config alias.a '!sh -c "git add *$1*"'
会做到这一点。您也可以直接将行添加到您的git配置中,如下所示:
[alias]
a = !sh -c \"git add *$1*\"
但是,如果你想支持指定多个文件,你需要做一些更复杂的东西,比如shell脚本:
#!/bin/bash
#file: $HOME/bin/git-a
newargs=()
for arg in "$@"; do
newargs+=("*$arg*")
done
git add "${newargs[@]}"
然后确保它是可执行的,并在$PATH
中。如果是,则git会在您键入git a
时找到并执行它,而无需设置别名。
添加其他功能,例如将其他标志传递给git add,就可以作为练习了。
答案 1 :(得分:0)
在您的主目录中,查找名为.gitconfig
的文件,并添加以下内容:
[alias]:
a = add
更新:
创建此文件(gitadd.sh
)
gitadd() {
for ARG in "$@"
do
git add "./*$ARG*"
done
}
用法:
~/.bash_aliases
source ~/.bashrc
gitadd name