推送后来自 repo 的合并代码未在生产服务器中更新

Merged code from repo not updating in production server after push

我的服务器中有一个 post-receive 挂钩。 我还有一个远程 repo(origin) (branch:stage) 另一个开发人员推送到的地方。 我从我的本地计算机提取提交并将它们推送到生产环境。

我最近从现有分支(阶段)的最新负责人创建了一个新分支(功能),添加了一些代码并将功能分支推送到远程仓库。我将功能分支的新功能合并到阶段分支。

然后我从远程仓库拉到本地。 现在,我将阶段分支推向生产。 我的 post-接收文件包含:

    git --work-tree=/path/to/project --git-dir=/path/to/project.git checkout - 
    f stage

我在合并后的远程仓库中的头部当前位于 ae228b9。 并且,在远程生产挂钩的最新日志中也指向 ae228b9。

问题是合并后的代码在生产服务器中看不到。

我是否必须执行其他操作才能将合并后的代码投入生产?

在我从原点拉出并推送到生产环境后,我尝试在本地更改新文件,提交它们并推送到服务器。但是,更改不会反映在服务器中。

编辑: 另外,我卸载了 apache php mysql 并重新安装了它们。在 unistallation/installation 之前,主页显示在服务器中,但路由不起作用(404 错误),但 git 挂钩起作用。 unistallation/installation 后,git 钩子停止工作

更新: 我使用与上面相同的代码创建了一个新钩子。现在在推送过程中我得到:

remote: error: unable to unlink old '.gitignore' (Permission denied) remote: error: unable to unlink old '.htaccess' (Permission denied) remote: fatal: cannot create directory at '.idea': Permission denied

我在项目文件夹和 project.git(hook) 文件夹中尝试了以下代码:

sudo chmod -R ug+w .;

unable to link 之后推送成功,但没有反映出变化。

我通过删除项目文件夹的内容并再次推送一些新的更改来解决这个问题。

我遇到了同样的问题(Azure 部署)

有两种方法可以解决这个问题 -

  1. 增加超时设置(但部署可能会卡住一些时间)
  2. 推送新更改(重新部署)

我更喜欢第二个选项。