2009-11-04 29 views
2

我为git做了以下一串命令,我的手指已经厌倦了键入它们。 :)我该如何结合这些git命令?

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

如何结合我那些(包括增加的消息)到一个单一的命令,如“混帐booyah”什么?

+0

可能重复;; http://stackoverflow.com/questions/16709404/how-to-automate-the-commit-and-push-process-git – dreftymac

回答

3

这不是你的问题的答案(我的回答r会是:做一个bash /批处理脚本)。

我这样说:不要做git add .这将添加当前目录中的所有未改变的文件以及它的后代。您可能不希望这些未跟踪的文件存在于您的目录中,并且您会不定期地添加它们,特别是如果您输入的ti与您声称的一样多。

取而代之的是git add -u。更好的是,跳过添加阶段,并执行git commit -a -m"blah",这可以为您节省一整行,这显然是您急于避免的。

5

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

,或者的Podhis answer的建议后:

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

(以被测试)

+2

小心这些双引号。当我尝试这个例子时,!f扩展到我在bash历史中运行的最后一个'find'命令。尽管如此,我仍然指出了正确的方向。 – nocash

2

您也可以结合频繁的命令在一行:

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

下一次,你只需要最多箭头把它找回来,然后按Enter键