【发布时间】:2013-07-14 03:31:13
【问题描述】:
所以我一直(愚蠢地)直接在实时服务器上进行更改,而不是在我的本地计算机上进行更改并进行部署。这搞砸了我的部署。所以现在我要做“git reset --hard”。
在我的远程服务器上,我有一个 project.git 目录(用于存储库……顺便说一句)和一个项目目录(用于我的实际应用程序)。
但是当我尝试运行“git reset --hard”时,它告诉我我不在工作树上。如果我进入 config 并将 bare 更改为 false ......它会说同样的事情。
想法?
【问题讨论】:
-
据我所知,从您的计算机再次运行
cap deploy将覆盖您拥有的版本,这样您的服务器上的应用程序将与本地计算机上的状态相同。 -
这就是问题所在:这并没有发生。因为我是在主服务器上进行编辑(而不是在本地进行然后部署),所以它以某种方式搞砸了分支。所以 Cap deploy 并没有更新所有文件。
-
好吧,你为什么不直接删除服务器上的应用程序文件夹,然后重新部署,因为它会从零开始,数据库和 gems 保持不变,你只需将代码移动为你会第一次部署。
-
我最终可能会删除所有那些无用的“发布”......但现在我太担心版本跟踪了。事实上,我什至不必担心它,因为无论如何我都会切换服务器。所以下次我进行部署时,它应该只是“工作”。
-
“我太担心版本跟踪” - 你不必这样做,它会部署带有所有 git 历史记录的新应用程序。
标签: ruby-on-rails-3 git capistrano