在git

时间:2015-11-04 15:11:15

标签: ruby-on-rails ruby git

每当我切换分支时,我都要运行命令:

rake db:drop
rake db:migrate
rake db:setup

有没有办法在我的应用程序的终端中自动运行这些命令?我正在开发rails应用程序上的ruby并在GitHub上有许多分支。是否有可以添加的文件会自动运行此命令?

例如,我会这样做" git checkout branch101" 然后我想运行上面的3个命令。

2 个答案:

答案 0 :(得分:2)

将此shell脚本保存到文件/path/to/repo/.git/hooks/post-checkout,并使其可执行。

#! /bin/sh

# Start from the repository root.
cd ./$(git rev-parse --show-cdup)

# drop migrate and set up.
rake db:drop
rake db:migrate
rake db:setup

答案 1 :(得分:0)

您正在寻找的内容类似Guard,只要您的回购代码发生变化,您就会运行测试套件。您应该能够调整Guard以运行您的rake任务而不是测试。 Railscasts有一个很棒的screencast解释卫兵。

快速谷歌搜索后,看起来有一个可以为你运行rake任务的宝石:guard-rake。不幸的是,它似乎并没有被广泛使用。