github项目与submodules克隆capistrano

时间:2011-11-29 04:58:34

标签: git github capistrano

我正在尝试为具有子模块的git项目构建一个capistrano deplyoment脚本。

我正在运行这些命令

run "git clone git@github.com:GITPROJECT /var/www/myfolder"

当我运行这个子模块时不会克隆到/ var / www / myfolder而只是创建一个带有子模块名称的空文件夹

当我尝试运行它时,它不会工作

run "cd /var/www/myfolder/submodule && git pull master"

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:18)

基本上你需要的是

set :git_enable_submodules, 1
deploy.rb脚本中的

选项。它告诉capistrano在从主repo获取源代码后初始化并更新git子模块。如果由于某种原因你想手动完成,你可以从项目的根目录运行它:

git submodule update --init

但是,如果我没记错的话,--init在某些旧版本的git中不可用,所以如果它不起作用你就可以这样做:

git submodule init && git submodule update

请查看this answer,了解有关capistrano的git选项的更多详细说明。