gpt4 book ai didi

git - 在网站部署中使用 git 的最佳实践

转载 作者:太空狗 更新时间:2023-10-29 12:57:07 25 4
gpt4 key购买 nike

我目前正在一家公司实习五个月,我打算改变开发人员访问文件的方式,即 git 而不是普通的 ftp 访问。到目前为止,git 一切正常,使用一个月后我对它的用法有点熟悉。

这就是我现在的想法:

enter image description here

我们使用 beanstalk 作为 repo hoster,它带有部署功能,工作起来非常简单,所以这部分已经涵盖了。让我思考的部分是分支方面的。我正在考虑创建一个名为“Live”的分支,而只是“master”。 master会部署到开发网站(图片右上),live分支会部署到live网站。另外,直播网站部署是手动的,但是master应该是自动的,到目前为止,没问题。

当我想到对实时网站进行微小更改的场景时,它就会变得复杂。假设我需要更改一些随机 div 的填充,我不想将带有一半实现的 api 的最新版本部署到实时网站,我只想部署小的更改,是这样吗有可能吗?

我现在的做法是在两个地方进行修复,首先 pull 出 master 分支并修复它,然后对 live 分支进行同样的操作。但随着更大的变化,这将变得更加困难。

此外,由于我们几乎所有的事情都使用 Wordpress,因此大部分数据将存储在数据库中。这真的很好,因为我们只需要时不时地克隆实时数据库就可以了。但是当图像上传开始起作用时,事情变得非常难看。 repo 协议(protocol)中将包含一些图像(因为我们从一开始就没有使用 git,它们是完整副本中的)而其他稍后将添加的图像将只是放在 ftp 目录中,假装它们在 repo !

在 git 中根本不包含缓存和媒体等文件夹,还是只包含一些,或者只是偶尔更新一次,会更好吗?

这几乎是我最大的两个问题。

tl;dr:如何在不执行两次的情况下向过时的分支提交小的更改(也适用于 master)。 git 存储库中缓存/媒体文件的正常用法是什么?

最佳答案

我建议您继续阅读 git flow .

它解决了这个问题。

基本上你有以下分支:

  • master:你所谓的“活”
  • 开发:这就是开发发生的地方
  • 特性:用于开发过程中因干扰太大而无法在正常开发分支上执行的较大更改
  • 修补程序:这是您的小修补程序。

重要的部分是哪个分支基于其他分支:

  • develop 将从 master 分支出来。
  • 功能将从开发中分离出来。
  • hotfix 将从 master 分支出来。

develop的改动在完全测试完成后会 merge 到master中。 merge 到 master 意味着:这是一个发布,所有测试都已完成。

这意味着 master 始终包含当前的事件状态,因此从 master 分支一个修补程序保证不会引入开发所做的任何其他更改。

这只是关于 branching model 的简短报道那个 git 流实现。我建议您完整阅读。它还有一些漂亮的图形 :)

关于git - 在网站部署中使用 git 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15227003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com