我目前正在一家公司实习五个月,我将改变开发人员访问文件的方式,即 git 而不是普通的 ftp 访问。到目前为止,git 的一切都很好,使用一个月后我对它的用法有点熟悉了。
这就是我现在的想法:
我们使用 beanstalk 作为 repo hoster,它带有一个非常容易工作的部署功能,所以这部分被覆盖了。让我思考的部分是分支方面的。我正在考虑创建一个名为“Live”的分支,而只是“master”。master 将部署到开发网站(图片右上角),live 分支将部署到 live 网站。另外,直播网站部署是手动的,但是master应该是自动的,到目前为止,没有问题。
当我想到对实时网站进行微小更改的场景时,它就会变得复杂。假设我需要更改一些随机 div 的填充,我不想将具有一半实现 api 的最新版本部署到实时网站,我只想部署小的更改,这可能吗?
我现在看到的方式是在两个地方进行修复,首先拉主分支并修复它,然后对实时分支执行相同的操作。但是随着更大的变化,这将变得更加困难。
此外,由于我们几乎所有内容都使用 Wordpress,因此大部分数据将存储在数据库中。这真的很好,因为我们只需要不时地克隆实时数据库,我们就完成了。但是当图像上传开始发挥作用时,事情变得非常丑陋。存储库中将包含一些图像(因为我们从一开始就没有使用 git,它们是完整副本中的),稍后将添加的其他图像将只是坐在 ftp 目录中,假装它们在回购!
在 git中完全不包含缓存和媒体之类的文件夹会更好,还是只包含一些,或者只是偶尔更新一次?
这些几乎是我最大的两个问题。
tl;dr:如何在不执行两次的情况下将小的更改提交到已过时的分支(也适用于 master)。git repo 中缓存/媒体文件的正常用法是什么?