'Git无法结账'错误导致在发动机厂部署应用程序时出现问题

时间:2011-07-21 04:26:35

标签: git git-submodules engineyard

我正在尝试在发动机场上部署应用程序。我正在使用rails 2.3.5和ruby 1.8.7

当我尝试部署它时,

~> Deploying revision 481f05e emergency commit
:: running git checkout -q '481f05e42f3e13b5eda7e598a1b797b031c9ca5e'
:: running git submodule sync
Synchronizing submodule url for ''
:: running git submodule update --init

No submodule mapping found in .gitmodules for path 'school'
No submodule mapping found in .gitmodules for path 'school'
*** [Error] Git could not checkout (481f05e42f3e13b5eda7e598a1b797b031c9ca5e) ***

git子模块是否同步导致问题?

我的存储库中没有任何子模块。

2 个答案:

答案 0 :(得分:1)

  

我的存储库中没有任何子模块。

这意味着您不应该在回购邮件中看到任何.gitmodules文件 如果有,那意味着你以某种方式声明了一个子模块(在这种情况下you might want to remove it)。

如果没有任何.gitmodules文件,那么学校路径中的某些内容会使部署脚本认为它是子模块,并尝试访问父repo的(不存在的).gitmodules文件。
可能school中有.git目录吗?

答案 1 :(得分:1)

我也遇到过这种情况,但有一个不同的解决方案。简单来说,gemfile引用了github上的一个版本,但是我没能在网上推送最新的提交。因此,一旦我确定我的所有子服务器都是最新的,它就能够结账。