7

我为 git 执行以下命令字符串,我的手指已经厌倦了输入它们。:)

git add .
git commit -m 'Some message'
git push
cap deploy

如何将这些(包括添加消息)组合成一个命令,例如“git booyah”之类的?

4

4 回答 4

7

你可以定义一个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"

或者,根据Pod他的回答中的建议:

[alias]
        publish = "!f() { git commit -a -m \"$1\" ; git push ; cap deploy ; }; f"

(待测试)

于 2009-11-04T17:46:18.320 回答
6

这不是您问题的答案(我的答案是:制作一个 bash/batch 脚本)。

我这样说:不要这样做git add .这将添加当前目录中的所有更改和所有未跟踪的文件及其后代。您可能不希望在您的目录中添加这些未跟踪的文件,并且您会意外添加它们,尤其是当您输入 ti 的次数与您声称的一样多时。

而是做git add -u. 更好的是,跳过 add 阶段并 do git commit -a -m"blah",这样可以节省一整行,这显然是您急于避免的事情。

于 2009-11-04T17:52:55.103 回答
6

您还可以将常用命令组合在一行中:

$ git add . | git commit -m 'Some message' | git push | cap deploy

下次您只需要向上箭头即可将其取回,然后按Enter

于 2016-04-03T11:33:42.410 回答
2

我只是使用分号组合成一个命令行:

git add .; git commit -m "Some message"; git push; cap deploy
于 2020-03-27T21:10:42.080 回答