如何在3个阶段中最好地管理网站的Git存储库?

时间:2011-12-14 20:23:33

标签: git workflow

我想知道在与Git有一些问题之后,处理网站回购的最佳方法是什么。目前我们有3个版本的网站;生产,测试和开发。我们已经将Git repo设置为3个分支,主要(生产),beta(beta),开发(开发)。

完成一组更改/功能后,我们会更新开发分支,然后将该分支复制到分支测试版。开发分支上的所有开发工作仍在继续,具有更多新功能等。

我们遇到的问题是,当代码处于测试阶段时,不可避免地会发现错误。这些错误需要在开发和beta分支中修复。同时在开发分支上已经进行了更多的开发,它不属于也不应属于beta分支,所以我们不能真正合并beta和开发分支可以吗?我也真的不想经历时间和麻烦,不得不通过适用于两者的更改对两个repos进行单独提交。

所以我正在寻找的是使用Git管理此类工作流程的最佳方式。

由于

3 个答案:

答案 0 :(得分:6)

结帐git-flow (aka: A successful Git branching model)。生产从主分支开始,从当前发布分支(如果有)开发和测试开发。

修改 这个答案指向与answer by Justin

相同的方法

答案 1 :(得分:5)

我见过的并发dev-qa-release工作流程的一个更好的方法是"A successful Git branching model"。对我来说, aha 时刻是使用--no-ff在开发分支中创建“汇总”提交 - 这使得功能和错误修正很容易管理。

答案 2 :(得分:0)

好的,你有主人(制作),

您需要基于master进行一些开发,因此您需要使用分支名称来检查master和branch,以描述您要添加的内容。 Ex feature_123。
Checkout feature_123并工作,添加,提交,推送等..

然后你会发现生产中的错误,你用一个分支名称来检查master和branch,这个名称描述了你想要解决的问题Ex issue_234。 结帐issue_234并工作,添加,提交,推送等..

在修复issue_234并运行后,checkout master并与issue_234合并
然后,结帐feature_123并与issue_234合并。

master和feature分支现在修复了bug_234 马丁