每当我切换分支时,我都要运行命令:
rake db:drop
rake db:migrate
rake db:setup
有没有办法在我的应用程序的终端中自动运行这些命令?我正在开发rails应用程序上的ruby并在GitHub上有许多分支。是否有可以添加的文件会自动运行此命令?
例如,我会这样做" git checkout branch101" 然后我想运行上面的3个命令。
答案 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。不幸的是,它似乎并没有被广泛使用。