Capistrano仍然试图连接到我的旧回购

时间:2011-10-11 12:06:58

标签: ruby-on-rails-3 git deployment github capistrano

我已将我的回购从Cadaset.com更改为Github.com,并将我的deploy.rb文件中的存储库设置更改为我的新Github回购。

当我运行cap deploy时,它仍然会尝试连接到我在Codaset.com上的旧回购。

我找不到任何关于我的旧回购的提法,所以无法理解为什么会这样做。

我试过了

cap deploy:setup

有效但我在

上得到了同样的错误
cap deploy

2 个答案:

答案 0 :(得分:2)

您必须删除存储在PATH_TO_APP/shared/cached-copy的服务器上的共享副本。删除cached-copy目录并再次运行部署。

cached-copy文件夹包含Git存储库的克隆。克隆存在时,Capistrano不会再次克隆它,只需运行git fetch

executing "if [ -d /var/www/apps/APPLICATION/shared/cached-copy ]; then cd /var/www/apps/APPLICATION/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard HASH && git clean -q -d -x -f; else git clone -q git@github.com:REMOTE /var/www/apps/APPLICATION/shared/cached-copy && cd /var/www/apps/APPLICATION/shared/cached-copy && git checkout -q -b deploy HASH; fi"

答案 1 :(得分:0)

如果Simone的答案不适合您,您可能需要手动编辑服务器上的.git/config文件以反映新“来源”的位置。在本地计算机上查看应用程序项目中的原点,并在服务器上“当前”文件夹中的.git/config镜像原始块。这对我有用。

原点块看起来像

[remote "origin"]
 url = ssh://git@yourgitserver.org/username/reponame.git
 fetch = +refs/heads/*:refs/remotes/origin/*