【问题标题】:Ubuntu automatically pull from Github repoUbuntu 自动从 Github 仓库拉取
【发布时间】:2015-09-19 10:30:32
【问题描述】:

我在我的服务器上安装了 git,但我希望每当我在本地推送我所做的更改时,它都会从我的 github 存储库中提取。

我研究了钩子,但它非常令人困惑,我找不到任何教程。有人知道怎么做吗?

【问题讨论】:

  • 如果拉取代码失败会发生什么?直接还是间接?
  • 我不确定你在问什么。就像从 Github 拉取错误一样?
  • 1.你拉了一些东西,合并 2 有错误。你拉了一些东西,没有错误,但代码和你的更改显然是错误的。你必须运行测试,伙计
  • 1.如果在合并期间发生错误,最好在我猜的错误之前保留当前版本。 2. 我可以在本地处理我的代码来解决这个问题。基本上我要做的是在本地创建一个网站,然后当我推送这些更改时,我的远程服务器从 github 中提取这些更改。
  • 当然由你决定。但是简单的脚本可能会起作用,称之为 gpush,检查答案

标签: ubuntu github lamp


【解决方案1】:

但是简单的脚本可能会起作用,称之为 gpush:

#!/bin/bash
git pull
if [$? -ne 0]; then
    ... error processing
fi
git push

【讨论】:

  • 1.不应该是 git pull 因为它是从 repo 中提取的吗? 2. 如何设置它以从特定的 Github 存储库中提取?
  • @Sosa 1. 不太明白。首先它会git pull,然后检查它的返回码和错误处理(你必须写它,我不知道你想要什么错误)。如果错误代码为0(一切正常),则为git push。 2.你可以添加is作为命令行参数,使第二行git pull $1
  • 我认为这与我正在寻找的内容很接近,但不完全是。我希望我的服务器在每次提交后从仓库中提取。每次我想要进行更改时,我都必须执行该脚本。
  • @Sosa 好吧,那就是它可能会失败的地方,你必须求助于钩子。不幸的是,我对钩子知之甚少......
【解决方案2】:

我希望我的服务器在每次提交后从 repo 中提取

这看起来像 webhook:您的服务器会监听 GitHub 发出的拉取事件 (JSON payload)。

你会发现很多监听器的例子,比如 CoffeeScript 中的zenhacks/github-webhook-listener

【讨论】:

    【解决方案3】:

    我没有让它自动从 Github 中提取,而是按照本指南在我自己的服务器上创建了一个存储库。 How To Set Up Automatic Deployment with Git with a VPS

    这样做是为了让每当我在本地完成我的站点上的工作时,我都会将 repo 推送到我的服务器上。每次服务器获得 repo 更改时,它都会检查到我的网站目录。

    我也可以将我的本地计算机设置为同时推送到 Github。非常有用的指南,我推荐它。

    【讨论】:

      猜你喜欢
      • 2012-10-19
      • 2012-08-13
      • 1970-01-01
      • 2012-12-11
      • 2014-09-09
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 2020-08-10
      相关资源
      最近更新 更多