Linux 为git commit添加别名,以便不需要引号
在git中,当我提交更改时,我使用:Linux 为git commit添加别名,以便不需要引号,linux,git,zsh,alias,Linux,Git,Zsh,Alias,在git中,当我提交更改时,我使用: git commit -m "my commit message" 我发现每次打字都很耗时,特别是因为我有一个习惯,随着时间的推移,我会做出很多小的承诺 例如,我想要一个更简单的别名 gm commit message 我不喜欢在提交消息前后键入引号,“gm”比“git commit-m”快得多 在.zshrc文件中创建此别名的最佳方法是什么?在zsh中: setopt interactive_comments preexec(){
git commit -m "my commit message"
我发现每次打字都很耗时,特别是因为我有一个习惯,随着时间的推移,我会做出很多小的承诺
例如,我想要一个更简单的别名
gm commit message
我不喜欢在提交消息前后键入引号,“gm”比“git commit-m”快得多
在.zshrc文件中创建此别名的最佳方法是什么?在zsh中:
setopt interactive_comments
preexec(){ _lc=$1; }
alias gm='git commit -m "${_lc#gm }" #'
然后:
请注意,您的其他别名等可能使用preexec
函数;您可能需要修改它,而不仅仅是覆盖它
在bash或ksh93中,没有
preexec
,但您可以从历史记录中获取当前命令:
alias gm='_lc=$(fc -nl -0); git commit -m "${_lc#*gm }" #'
此外,bash和ksh93默认在交互式脚本中识别注释
gm() { git commit -m "$*" }
实际上,如果这些是您将在任何地方发布或保留为历史记录的提交,您应该省略
-m“message”
,并在编辑器中键入更完整的描述;如果它们只是在发布/合并之前要挤压的检查点,-mwip
很好(一个单词不需要引号)。我得到以下错误:“基于别名gm定义函数”&“parse error near()”@Hitomi90,这是因为您已经定义了别名;在定义函数之前,请使用unalias gm
。您还可以使用函数gm(){git commit-m“$*”}
,它不会显示错误,但定义的函数将被别名隐藏。
gm() { git commit -m "$*" }
gm this works
gm but you need to quote special chars\!