2013-06-28 42 views
0

大家好,我是一个完整的noob with git,我在设置环境方面有一些问题。为表达式引擎设置一个git和多个环境

我有一个Ubuntu Linux操作系统的服务器上,我已经设置了以下站点的虚拟主机:

www.mydomain:生产环境
stage.mydomain:临时环境为客户认可试验
dev.mydomain:发展测试新代码的环境

我也在本地设置了MAMP作为本地开发环境。

我希望能做的就是使用www.mydomain作为回购,然后克隆到阶段,从阶段到开发,然后从开发到本地。我已经成功完成了这项工作。

当我对本地工作感到满意时,我添加/提交文件,然后推回到dev进行服务器特定测试。

现在我设法做了一个远程推回到dev.mydomain没有错误,但是当我检查这些文件时,我发现这些文件没有被更新以包含我的增加/提交。

有人可以帮忙吗?我误解了这是如何工作的,如果是这样的话,我该如何将更改应用到dev.mydomain文件系统进行测试?

任何帮助将不胜感激!

回答

0

现在我设法做了一个远程推回dev.mydomain没有错误,但是当我检查这些文件时,我发现这些文件没有被更新以包含我的增加/提交。

推到upstream remote回购是指:

  • 推到bare repo(意思是没有文件,看有在远程回购没有工作树!)
  • 或推到非裸回购,但在这种情况下,你只能这样做没有错误如果你推动一个分支,没有签出在该远程回购。
    这意味着没有上游回购目录上的当前可见文件被修改。
    这就是允许推送的所有要点:您确定检出的分支HEAD和您推送的HEAD之间没有差异。该问题详见“git push error: refusing to update checked out branch”。

因此,我建议:

  • 设立裸dev的回购,
  • 推给它,
  • 并具有后收到挂机第二dev的回购协议(此时间非裸露),并从(更新的)裸露回购。
    参见例如this answer
+0

非常感谢您的澄清,我是混错就如何处理多个环境中部署!这已经清除了我现在,谢谢! –