0

大家好,我是 git 的菜鸟,我对设置环境有一些疑问。

我有一个 ubuntu linux 服务器,我在其上将以下站点设置为虚拟主机:

www.mydomain:生产环境
stage.mydomain:用于客户端批准测试的暂存环境
dev.mydomain:用于测试新代码的开发环境

我还在本地将 MAMP 设置为本地开发环境。

我想做的是将 www.mydomain 用作存储库,然后克隆到阶段,从阶段到开发,然后从开发到本地。我已经成功地做到了这一点。

当我对本地工作感到满意时,我会添加/提交文件,然后推送回开发人员进行特定于服务器的测试。

现在我已经成功地远程推送回 dev.mydomain 没有错误,但是当我检查文件时,我发现这些文件还没有更新以包含我的添加/提交。

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

任何帮助将非常感激!!!

4

1 回答 1

0

现在我已经成功地进行了远程推送,dev.mydomain没有错误,但是当我检查文件时,我发现这些文件还没有更新以包含我的添加/提交。

推送到上游远程仓库意味着:

  • 推送到一个裸仓库(意味着没有文件可看!远程仓库中没有工作树)
  • 或推送到非裸仓库,但在这种情况下,如果您推送未在该远程仓库中签出的分支,则只能这样做而不会出错。 这意味着该上游存储库中当前可见的文件都没有被修改。 这就是允许推送的全部意义:您确定签出的分支 HEAD 和您正在推送的 HEAD 之间没有差异。该问题在“错误:拒绝更新签出分支”中有详细说明。

    git push

所以我会推荐:

  • 建立一个裸开发仓库,
  • 推向它,
  • 并有一个接收后挂钩到第二个开发仓库(这次是非裸仓库)并从(更新的)裸仓库中拉出。
    例如见这个答案
于 2013-06-28T19:12:37.593 回答