我正在尝试为一个有子模块的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"
请有人帮我这个吗?
基本上你需要的是
set :git_enable_submodules, 1
deploy.rb
脚本中的选项.它告诉capistrano在从主repo获取源代码后初始化并更新git子模块.如果由于某种原因你想手动完成,你可以从项目的根目录运行它:
git submodule update --init
但是,如果我没记错的话,--init
在某些旧版本的git中不可用,所以如果它不起作用,你可以这样做:
git submodule init && git submodule update
有关capistrano的git选项的更广泛说明,请查看此答案.