【问题标题】:Git push remote work but no changes visibleGit推送远程工作但没有可见的更改
【发布时间】:2014-10-08 16:29:14
【问题描述】:

我目前在推送到远程服务器时遇到了 git 的一个小问题。

在本地服务器上一切正常,它成功提交,所以推送到我的远程仓库。 Git show master 和 git show remote-repo/master 显示提交修改完成,所以一切都应该正常工作。

仍然在访问我的网站时没有任何改变。这些文件根本没有改变。远程仓库是一个简单的仓库,我的应用程序是用 Flask、Gunicorn 构建的,我使用主管来管理它。我尝试将 git 远程路径更改为使用其中的文件副本创建的新目录,重新启动主管和 gunicorn,重新启动我的服务器,但没有任何改变。奇怪的是,第一次推动奏效了。我会解决目录结构或誓言的问题,但一切都是一样的。除了我的文件存储在比本地多一个目录中。但是我试图复制上层目录中的文件,它没有改变任何东西。

我现在有点迷失了,几十年来我会感谢任何关于这个问题的帮助或线索。

谢谢!!

【问题讨论】:

    标签: deployment gunicorn git-push supervisord git-remote


    【解决方案1】:

    好的,我终于让它工作了!为此,我启动了另一个 --bare repo 并为网站文件创建了一个文件夹。然后,在裸存储库中,将接收后的 SH/脚本文件添加到 /hooks 文件夹,以便在从裸目录推送接收到网站文件时签出文件。我编辑了supervisor conf和nginx之一,重新加载并重新启动。现在好了!

    【讨论】:

      【解决方案2】:

      您的设置仍然有点困惑。您在本地开发并推送到服务器。服务器是否有裸仓库或托管网站的服务器是否有裸仓库?

      当你推送到一个bare 时,这并不意味着工作树已经改变,因为bare 只是一个bare repo-没有工作树。如果是这种情况,您必须按照以下步骤操作:

      1. push from local to server that contains bare
      2. pull from the remote bare location from the production server
               (the one that contains the website)
      3. restart apache or whatever you have
      

      希望这会有所帮助。如果我在正确的轨道上,请告诉我。

      【讨论】:

      • 非常感谢您如此迅速的答复!事实上,我的裸仓库位于我网站文件夹的根目录中,而提供的网站文件位于子目录中。所以树将是 /website 包含裸仓库和 /website/website_files。我可能会按照你说的拉动看看是否有效。
      • 是的,所以在 /website/ 中时。您将从 1 个目录开始执行 git clone。或者,如果文件已经存在,您将进行拉取。
      • 好吧,我从实验中回来了,但没有任何结果。我在本地仓库和远程仓库中尝试了 git pull ,它表明一切都是最新的。我还在本地和远程上尝试了 git show ,当前提交是好的(最新的)我尝试了 git branch -v 来检查分支是否是好的,并且一切都很完美。尽管如此,提交中所做的修改并没有出现在网站上的文件等中。我很头疼,还没有在 SO 或 Google 上找到解决方案。不过还是在找。我开始认为我将不得不重置所有内容:(
      猜你喜欢
      • 1970-01-01
      • 2012-09-27
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多