Capistrano接受过时的提交

时间:2017-09-05 02:21:02

标签: ruby-on-rails git gitlab capistrano3

我有一个Rails 4应用程序,直到现在,已经部署得很好。我使用Gitlab.com私人回购。我没有改变任何东西,并且出于某种原因,从8个月前开始提交旧的提交作为"最新的#34;。

正确的分支(master)推送了最新的更改。 Capistrano正在部署主分支。在浏览器中,主分支具有我正确显示的最新更改。我可以继续推送其他提交(我的git配置文件很好)。

当我部署时,Capistrano出于某种原因认为master上的最新提交是8个月之前的256f303,而不是e948bfa。如果我转到刚刚部署在远程服务器上的目录Cap,则代码已过时(与256f303之后的代码状态一致)。

Cap命令( RBENV_ROOT=~/.rbenv RBENV_VERSION=2.2.3 /usr/bin/env cat /home/project/deploy/current/REVISION 2>/dev/null )返回旧提交SHA 256f303

  • 当我be cap production deploy revision=<full e948bfa sha>时,它没有效果。仍然得到256f303
  • 删除或重命名$deploy/repo目录无效。它会创建一个新的repo目录,问题仍然存在。
  • 修改repo/packed_refs文件,使refs/heads/master指向e948bfa...(etc)而不是256f303...(etc),会显示消息error: refs/heads/master does not point to a valid object!
  • production.rb中,设置set :branch, ENV.fetch('REVISION', 'master')(而不是set :branch, 'master')无效。与set :branch, ENV.fetch('branch', 'master')相同。

我绝对感到困惑。我不确定为什么会这样,我已经尽我所能来弄清楚256f303来自何处。这是一个GitLab问题吗?或者在我的某个地方?

编辑:没有太多的更新。我最后再回来了,我不确定是不是这样做了,但现在已经整理好了。我不觉得这是一个真正的答案,但你去了:)。

0 个答案:

没有答案