如果我在终端中输入以下内容,我可以完成我想要的一切:
git commit -am "my commit message" ; git pull ; git push ; ssh user@server 'cd /path/to/git/repo/ ; git pull ; exit'
我想在我的~/.zshrc
. 就像是:
alias pushit () { git commit -am "$@" ; git pull ; git push ; ssh user@server 'cd /path/to/git/repo/ ; git pull ; exit' }
要像这样在终端中运行:
pushit "my commit message"
相反,每次我重新加载 ~/.zshrc ( source ~/.zshrc
) 或打开一个新的终端窗口时,我都会看到它循环通过我的别名数十次。目前尚不清楚它是否实际运行。
我究竟做错了什么?
笔记:
- 这不适用于关键任务服务器。它仅供个人使用。我知道这是糟糕的形式。
- 我宁愿不使用 git 的 [alias] 工具,这样我就可以将所有别名保存在同一个地方 (
~/.zshrc
)。