如何为git add*name*创建别名?
我正在尝试为如何为git add*name*创建别名?,git,Git,我正在尝试为git add*name*创建一个别名,因此我可以这样使用它: git a foo 它将调用以下命令: git add *foo* [alias]: a = add 我怎么做?我尝试了a=add*$1*,但没有成功。在主目录中,查找名为.gitconfig的文件,然后添加以下内容: git add *foo* [alias]: a = add 更新: 创建此文件(gitadd.sh) 用法: 将gitadd函数添加到~/.bash\u别名中 使用sourc
git add*name*
创建一个别名,因此我可以这样使用它:
git a foo
它将调用以下命令:
git add *foo*
[alias]:
a = add
我怎么做?我尝试了
a=add*$1*
,但没有成功。在主目录中,查找名为.gitconfig
的文件,然后添加以下内容:
git add *foo*
[alias]:
a = add
更新:
创建此文件(gitadd.sh
)
用法:
- 将gitadd函数添加到
~/.bash\u别名中
- 使用
source~/.bashrc
- 像这样使用:
gitaddname
$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,这是一个练习。只需alias add,任何其他参数都会被传递。@JonSharpe请注意那些自动添加的星号。哦,我想它们是为了表明这是您想要的,而不是分支名称的一部分。为什么要这样?请注意我想自动添加的星号。这就是我的全部观点。这可以在alias部分中完成吗?没有循环?嗯,我不知道,这是一个不同的方法它是a=!sh-c \“git add*$1*\”
:)就是这样,谢谢。我发现生成的语法是:a=!sh-c \“git add*$1*\”
。请将其添加到您的答案中,以备将来参考。许多人喜欢使用.gitconfig文件,而不是通过控制台添加配置。