我正在公司内部实施更好的版本控制实践,我不完全确定如何开始使用git来处理当前的情况.
现在我们有一个开发和生产服务器.直接对开发服务器进行了更改,在测试和准备好之后,我们通过良好的'ol SFTP拖放将它们移动到生产服务器.
我想以某种方式在这个过程中实现git(使用GitHub),但我不确定从哪里开始.我们的开发代码库与我们的生产代码库有很大的不同,因为我们有10-15个正在进行的项目和错误修正,不能或不应该推送.
我们如何以我们可以开始使用git的方式实现这一点,而不必首先将我们的dev与生产代码库相匹配?
首先,如果您有10-15个正在进行的项目,他们现在如何与彼此合作?
Git通过提供分支来解决这个问题.因此,不是将项目混合在一起并共享问题,而是每个实验将在其自己的分支上分离,并且将基于主分支或开发分支.如果涉及它,这也有利于使它们更容易合并.
那么推荐的工作流程是什么?简单来说,只需使用一个中央git存储库.
我会说,将中央git存储库从生产代码中移除,然后移植到有希望的"实验"上.或者让实验者将它们合并到新的分支上,然后帮助他们提交它们并推动分支机构.
然后,要更新生产,您将从主分支拉出.要更新开发服务器,您可以从开发分支中获取.不再使用SFTP.功能分支实验可以根据需要切换到开发,甚至更好,只能用于每个开发人员正在运行和自行测试的本地副本.
这本身就与git无关,但它是图片中很大一部分似乎缺失的原因,因为你们都依赖于SFTP,而SFTP没有版本化:一旦你有一个版本控制系统,它就不再存在了托管签出的位置以及提交提交的位置,只要它们被推送到中央存储库.您现在可以托管本地主机版本的网站来运行实验.它会很快.它将是可访问的.并且它不会破坏开发服务器或实时服务器,直到您实际提交并更新它们,因此您可以在本地计算机上的本地分支上非常自由且非常有力地进行实验.假设您正在使用网站,您只需在主机文件中创建一个带有别名的完全本地副本即可.所以我在http://nw.local上有一个完全本地的网站,它映射到一个带有git存储库的文件夹.如果我想进行实验,git branch experiment;git checkout experiment
然后我就会破解并提交提交,如果我喜欢结果,我会将提交重新绑定或合并到dev分支上并推送它.然后我经常删除该分支,并启动一个新的分支,具有新的或类似的实验功能.