Git 变基 ZSH shell 别名

Git rebase ZSH shell alias

我选择了一个 git alias online,它应该是命令 git rebase -i HEAD~,其中 </code> 是传递给别名的数字。这是我在 <code>.zshrc 文件中设置的 git 别名:

alias grn="! sh -c \"git rebase -i HEAD~\" -"

来自终端的示例用法:

$ grn 3 // This should translate to git rebase -i HEAD~3

我 运行 遇到的问题是传递的整数参数(例如 3)没有传递给我的别名,因此 git 别名实际上总是 运行 git rebase -i HEAD~.

关于如何修复此别名的任何线索?

参考 this question 我会说 alias 不可能有参数。

不过,您可以使用单行函数轻松完成。

只需输入:

grn() { git rebase -i HEAD~""; } 

.zshrc 中,您可以 运行 以与别名相同的方式。

Shell 带参数的别名是不可能的,但是 git alias 肯定是可以的。要么

git config alias.grn '! sh -c "git rebase -i HEAD~" -'

git config alias.grn '!f() { git rebase -i HEAD~; }; f'

运行 作为 git grn 3.