需要Git、GitHub和DigitalOcean VPS的帮助以获得版本控制解决方案



如果问题需要改写,请告诉我,如有任何困惑,我深表歉意。

我正在尝试使用Git、GitHub和我在DigitalOcean上的VPS创建一个版本控制解决方案。目前,我一直有一个DEV目录和一个PRODUCTION目录,这两个目录都在我的DO VPS上。

在过去,当完成对DEV目录的更改时,我会手动将更改后的文件复制到我的PRODUCTION目录中。(这些目录中的每一个都通过Apache提供给不同的URL)。

我的目标是让我的DEV目录中的Git repo(我在其中进行更改)与我的GitHub repo同步(https://github.com/jmwii1981/hello_world),我一直在工作。然后(这是我想不通的部分)。我想把更改从GitHub拉到我的工作目录,"拉"的意思是我想使用GitHub的内置服务将我的更改从GitHub同步到我服务器上的PRODUCTION目录,然而,我似乎无法找到这一点来拯救我的生命,因为到目前为止,我发现的每一点文档都有自己的风格或方法,这与我在工作流程中试图实现的目标不一致。

我的具体工作流程如下:(1) 对DEV目录中的代码进行更改。(2) 'git add.','git commit-m"my message"','git push origin'(3) Git添加我的更改,我用更新消息提交这些更改,我使用SSH密钥将这些提交推送到GitHub上的原始分支。(4) GitHub接收我的更改并将它们同步到我的PRODUCTION目录中。

这可能吗?我想是的,但我没有足够的Git经验来实现这一点。事先感谢你的帮助,原谅我在这件事上的天真。我很感激任何详细的步骤,因为我是Git技术的新手。再次感谢!

GitHub不能简单地访问服务器并更新文件,但它可以在某些事件发生时发送消息。您想要做的是添加一个提交挂钩,它会向服务器发送一条消息。当您的服务器收到消息时,它应该采取所有必要的步骤来重新部署您的应用程序。(这可能包括停止Apache、运行git pull和重新启动Apache)。

Git的提交挂钩功能允许您在提交期间在服务器上运行任意命令或shell脚本。当然,GitHub并没有给你所有的权力;相反,它们有一组可以启用的钩子列表。其中最通用的称为webhook。当你设置webhook时,GitHub会对你选择的url进行HTTPPOST。

相关内容

最新更新