为 git commit 添加别名,这样就不需要引号了
Adding an alias for git commit so that no quotes are needed
在 git 中,当我提交更改时,我使用:
git commit -m "my commit message"
我发现每次输入都非常耗时,尤其是因为我习惯于随着时间的推移进行许多小的提交
我想要一个使这更容易的别名,例如
gm commit message
我不喜欢在我的提交消息之前和之后输入引号,而且“gm”比“git commit -m”快得多
在我的 .zshrc 文件中创建此别名的最佳方法是什么?
在zsh中:
setopt interactive_comments
preexec(){ _lc=; }
alias gm='git commit -m "${_lc#gm }" #'
然后:
gm ** you can use ", ) or any other char's in the commit message
请注意,您的其他别名等可能会使用 preexec
功能;您可能需要修改它,而不仅仅是覆盖它。
在bash或ksh93中,没有preexec
,但你可以从历史:
alias gm='_lc=$(fc -nl -0); git commit -m "${_lc#*gm }" #'
此外,bash 和 ksh93 默认识别交互式脚本中的注释。
gm() { git commit -m "$*" }
gm this works
gm but you need to quote special chars\!
在 git 中,当我提交更改时,我使用:
git commit -m "my commit message"
我发现每次输入都非常耗时,尤其是因为我习惯于随着时间的推移进行许多小的提交
我想要一个使这更容易的别名,例如
gm commit message
我不喜欢在我的提交消息之前和之后输入引号,而且“gm”比“git commit -m”快得多
在我的 .zshrc 文件中创建此别名的最佳方法是什么?
在zsh中:
setopt interactive_comments
preexec(){ _lc=; }
alias gm='git commit -m "${_lc#gm }" #'
然后:
gm ** you can use ", ) or any other char's in the commit message
请注意,您的其他别名等可能会使用 preexec
功能;您可能需要修改它,而不仅仅是覆盖它。
在bash或ksh93中,没有preexec
,但你可以从历史:
alias gm='_lc=$(fc -nl -0); git commit -m "${_lc#*gm }" #'
此外,bash 和 ksh93 默认识别交互式脚本中的注释。
gm() { git commit -m "$*" }
gm this works
gm but you need to quote special chars\!