【发布时间】:2010-12-13 03:01:14
【问题描述】:
我为 git 执行以下命令字符串,我的手指已经厌倦了输入它们。 :)
git add .
git commit -m 'Some message'
git push
cap deploy
如何将这些(包括添加消息)组合成一个命令,例如“git booyah”之类的?
【问题讨论】:
标签: git command-line capistrano
我为 git 执行以下命令字符串,我的手指已经厌倦了输入它们。 :)
git add .
git commit -m 'Some message'
git push
cap deploy
如何将这些(包括添加消息)组合成一个命令,例如“git booyah”之类的?
【问题讨论】:
标签: git command-line capistrano
您可以定义一个 git alias 调用脚本
从 1.5.0 版开始,Git 支持别名执行非 git 命令,方法是在值前面加上
"!"。
从 1.5.3 版本开始,git 也支持将参数附加到以“!”为前缀的命令中。
在别名中定义函数,可以避免显式调用“sh -c”
[alias]
publish = "!f() { git add . ; git commit -m \"$1\" ; git push ; cap deploy ; }; f"
或者,在his answer中Pod的建议之后:
[alias]
publish = "!f() { git commit -a -m \"$1\" ; git push ; cap deploy ; }; f"
(待测试)
【讨论】:
这不是您问题的答案(我的答案是:制作一个 bash/batch 脚本)。
我这样说:不要这样做git add . 这将添加当前目录及其后代中的所有更改和所有未跟踪的文件。您可能不希望在您的目录中添加这些未跟踪的文件,并且您会意外添加它们,尤其是当您输入 ti 的次数与您声称的一样多时。
改为git add -u。更好的是,跳过添加阶段并执行git commit -a -m"blah",这样可以节省一整行,这显然是您急于避免的事情。
【讨论】:
你也可以将常用的命令组合成一行:
$ git add . | git commit -m 'Some message' | git push | cap deploy
下次您只需按 向上 箭头将其取回,然后按 Enter
【讨论】:
我只是用分号组合成一个命令行:
git add .; git commit -m "Some message"; git push; cap deploy
【讨论】: