对网站的简单的Git分支模型

有人建议可以为网站开发了一个简单的Git分支模式。 我看到的成功的Git分支模型几次讨论,遗憾的是他们都对我们的情况很复杂。 大多数分支模型适用于有版本和发布周期软件。

我公司经营的几个门户网站。 我们有5人在这些网站上的工作。 大部分时间2-3人可能工作在相同的网站,但在不同的部分(冲突的机会是零附近)。 我们没有任何版本或发布周期。 程序员将开发一个特定部分后,它会传递给另一个人,谁写的部分内容并进行搜索引擎优化。 一旦完成,该部分将被上传到公共网站。 与此同时,另一个程序员会工作在更新现有的部分。 如果一个错误或者报告错误,这将是固定并立即上载。

一般情况下,每周2-3个新的章节被添加/更新。

目前,我们只有一个分支(主),并创建只有当人正在大的变化,这将需要2周以上才能完成一个新的分支。 这里的问题是,该主分支不与目前的生产文件同步。 我想改变这一点,移动开发到另一个分支,因此可以在主分支直接应用的bug修复,没有任何后顾之忧。

更新它是坏的创建每节一个单独的分支? 换句话说,有多少分支被认为是太多了?

--------------解决方案-------------

你有一个相当连续的开发周期,所以你是对的:没有必要万吨功能分支那里。

一个简单的模型:

*--*--*--*---* (master, for prod)
\ /
*--*--*--* (dev, for current development)

问题是:

当在PROD('错误master “,直播网站),你可以解决它的dev 分支 ,包括任何发展过程中?

因为如果你不能,那意味着你有改变master必须立即合并回dev 。 如果该修复程序迅速完成,你甚至不需要一个' fix '分支。

换句话说,你并不需要的“一个成功的Git分支模型”中的所有复杂的模型。

这听起来我,你真正需要的是改进你的工作模式和流程。 Git是不是一个答案来处理问题,它只是应该支持您所选择的过程的工具。

即使你说你没有发布周期,你仍然有释放:至少在生产中运行的副本应被视为一个发行/版本。 没有什么能阻止你生产一个星期10版本中,如果是从来看QA /测试点接受。

一想到几点:

  • 生产现场必须始终有1:1克隆的一个分支(无论是主,发布或其他)
  • “发行”,在生产现场运行应始终在版本控制用于跟踪的标签。

对于什么是值得的,我认为你这样描述的模型:http://nvie.com/posts/a-successful-git-branching-model/。

你说你只更改超过两周创建分支,但在技术上每个开发者的本地副本是一个独立的分支,尤其是像一个Git的DVCS。 我猜,因为你正在使用的分支共享编程器和内容创作者之间的更改您的官方主分支不匹配什么是在生产。 我会做在您的情况有这么短的发布周期是有这两个合作者相互分享他们的本地资源库,完全跳过中央存储库,直到它已经过测试,准备推向生产。 因为你需要这样,你自动拥有尽可能多的开发分支和你正式中心存储库保持清洁。

如果这是太多的一组出发,你总是可以创建一个production分公司直接接收bug修正,并在主分支合并时,它是在一个稳定的点推到生产中。 这样,你的开发人员仍然主要工作落实中央主分支,因为他们已经习惯。

如果复杂性对你是一个问题,然后看看水银作为GIT更换。

GIT和Mercurial使用等效分布式VCS模型,但是水银往往更容易使用和不公开尽可能多的底层复杂性给用户。

有一个看这个问题的答案是什么水银和Git之间的区别?

分类:混帐 时间:2012-01-01 人气:2
本文关键词: 混帐,混帐分支
分享到:

相关文章

  • 混帐秀分支不输出完整的修订历史记录? 2013-03-18

    我想不通为什么混帐秀分支是不是给我同样的充满了历史的git的日志--graph表明了我. 为什么以下差异发生的? $ git log --graph --oneline --date-order * 786c9bd Merge branch 'master' into testbr |\ * | dda9989 ch2 to couch * | 05d0851 chg 1 to couch | * 3df86c2 change 1 to tv | * 900ad58 added tv |/ *

  • 如何在一个混帐开发分支合并本地提交? 2012-06-14

    我有一个本地开发的分支"开发"和远程"master"分支. 对于"开发"分支,我有一个相当复杂的提交历史(近20个连续的提交). 我试图用 "git rebase -i origin/master" 在"开发",然而,我发现这个过程是很容易出错(你必须申请每次提交逐一化解矛盾..)和沮丧......我现在需要的是"开发压缩提交历史"单个提交并推送这个大承诺"大师"进行

  • 为什么是混帐命令切换名为“混帐结账”分支? 2012-08-10

    为什么是混帐命令切换名为分支git checkout ? 它是否真的有意义吗? 我将它命名为git switch来代替. 此外, git checkout有其他的含义:如恢复一个文件(如svn revert ) --------------解决方案------------- 我看到大多数其他答案被解释什么git checkout不为什么"结账"可能是来形容一个合理的方式. 不过,虽然我爱深深地混帐,这并触及时,我试图帮助人们了解系统中出现的挫折两个严重的要点: git checkout

  • 如何重命名我的混帐'主人'分支'释放'? 2012-10-07

    我们要强制执行我们的项目,主分支现在被称为发布分支,以确保它是作为分支应该如何使用更清晰的新政策. 当然,我们将开发和发布候选分支机构为好. 我明白我可以简单地使用下面的局部重命名主分支: git branch -m master release 然而,这仅仅是在本地. 即使我这个推到远端,头部仍然指向远程主分支. 我想摆脱主分支完全和在初始克隆使默认本地分支,可以发布. 我怎样才能做到这一点? 编辑:看来 ,既然起源是一个gitorious服务器上,我得到的错误删除主分支. 我想现在就看它是否

  • git的结帐标签,混帐拉分支失败 2012-10-31

    我已经克隆一个Git仓库,然后检查了一个标签: # git checkout 2.4.33 -b my_branch 这是可以的,但是当我尝试运行git pull在我的分支,混帐吐出这个错误: 存在用于当前分支没有跟踪信息. 请指定要与合并哪个分支. 详情请参见混帐拉(1) git pull <remote> <branch> 如果你想设置该分支你可以这样做跟踪信息: git branch --set-upstream new origin/<branch> 我想git

  • 部署在混帐回购分支站点 2012-11-06

    所以我用git开始,我想创建一个部署特定分支脚本... 我的文件结构通常在我的回购的特定站点位于DOCUMENT_ROOT低于回购文件夹...然后我有文件夹的public_html存在以及.. 请记住,我一直在使用Git和家居约4天... 所以我想我的命令应该是这样的: git deploy <branch> <location to deploy to> 有任何想法吗? --------------解决方案------------- 你可能想看看git archive命令. 例如

  • 混帐SVN分支:如何配置混帐配置 2012-12-06

    几个月前,我配置了svn库混帐. 到现在为止我只用了svn库,以跟上最新与上所提供的应用程序. 但是,现在我也想提交的东西回来. 要做到这一点每一个功能我要去犯需求是在一个独立的分支. 我了解你应该如何创建一个新的分支等.但我想我错误配置我的混帐,我没有任何分支信息等我想我只有躯干的信息. 这是我的SVN仓库已成立了我的混帐配置: [remote "origin"] url = url-of-git-repository fetch = +refs/heads/*:refs/remot

  • 混帐:分支分歧; 如何进行? 2013-04-28

    我的本地树木已经从主分歧: $ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 7 and 3 different commit(s) each, respectively. # nothing to commit (working directory clean) 我试着混帐拉--rebase和失败: $ git pull --rebase First, rewi

  • 如何清理过时改写犯混帐混帐过滤器分支后 2013-05-01

    我需要删除一对夫妇从混帐历史过时的文件,所以我也跟着使用的办法"git的过滤分支......"在各种问题,并在GIT手册建议. 运行该命令后,我现在看到的一切在我的"git的日志",所以不是原来的10改写提交承诺,我现在有大约30个提交(删除3个文件后). 我试着在各种答案中提供的建议,删除"git的/裁判/原稿",然后选择"混帐引用日志过期..."和"混帐GC --aggressive --prune"等

  • 我如何导入使用植根于不同的目录到混帐SVN分支混帐svn的? 2013-05-19

    我有一个SVN仓库的结构如下图所示. 我们使用的是多层次下的各种版本维护分支的分支,加上功能分支的目录. 混帐SVN的init似乎有一个--branches论证工作,即它似乎期望所有的分支是在一个位置. trunk branches 1.1 1.2.1 1.2.2 1.2 1.2.1 1.2.2 1.2.3 features feature1 feature2 如何处理这个任何想法? 谢谢 --------------解决方案------------- 在你的配置文件,设置svn - 遥控器部分

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.782 (s). 10 q(s)