活分支数量的最佳范围是多少? [关闭]

2024-01-01

假设一个项目是:

  • 1 product
  • 建立在Y years
  • 包括M modules
  • 写在L[1..3] 语言
  • 总共开发了D开发商

项目在什么时候包含太多或太少的实时分支?

我知道这是一个很难的问题,用数字来回答就更难了,但是我正在寻找量化的答案,如果可能的话,请制定一个公式。

背景

如果分支太少,代码永远不会准备好,开发人员不会进行大的更改,因为可能无法满足下一个截止日期。同样,产品经理也永远没有足够的信心来命名某个版本。功能经常被冻结,新想法被延迟,开发速度减慢。

如果分支太多,开发人员不确定他们的更改应该去哪里以及应该传播到哪里,哪个分支将合并到哪个主干。合并重构的代码非常困难,质量下降。此外,每个开发人员都必须在多个设置中测试他们的更改,浪费了大量精力,开发速度减慢。

活分支数量的最佳范围是多少?


确定 RCS(svn 或 git)包含太多分支的经验法则是什么?

怎么样rule of 3:

  • 稳定代码的一个分支——主干;
  • 不稳定的一个分支 - 即将发布的开发;
  • 还有一个用于维护 - 上一版本的错误修复;

许多 git 托管的项目仅使用两个分支:master用于主干线和vNext以供将来发布。

Use tags用于标记开发中里程碑的功能。

请允许您的开发人员在本地创建开发分支,并根据他们正在执行的任务将它们合并到这些远程分支。

要求开发人员为当地分支机构添加有意义的名称和描述。并相应地标记提交。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

活分支数量的最佳范围是多少? [关闭] 的相关文章

  • 变基后无法推送到分支

    我们使用 git 并有一个 master 分支和开发人员分支 我需要添加一个新功能 然后将提交重新设置为 master 然后将 master 推送到 CI 服务器 问题是 如果我在变基期间发生冲突 我无法在变基完成后推送到我的远程开发人员分
  • BitBucket+Jenkins:仅在特定分支更改时触发构建

    以下是该问题的据称解决方案 尽管它看起来确实是一种解决方法 而不是最终的解决方案 有没有一种方法 通过作业配置或 bitbucket 挂钩配置 我可以将作业设置为仅在推送到特定分支时运行构建 是否可以仅从一个特定分支触发 Jenkins h
  • 如何删除“致命:松散物体”?

    我的一个克隆存储库是从 git fsck 获取的 致命 松散对象 40bda4e3b79c3d7bf598df31d9e68470f97a3f79 存储在 git objects 40 bda4e3b79c3d7bf598df31d9e68
  • 无法加载文件或程序集“SharpSvn”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚在这里下载了 64 位版本的 SharpSVNthe link http sharpsvn open collab net files documents 180 5570 SSvn 1 7002 1998 x64 zip 当我运行我
  • 如何列出当前正在验证的拉取请求中更改的所有文件(在 VSTS 中)?

    我有一个 PR 验证版本 我想列出 PR 中更改的所有文件以及状态 源在每个构建上同步 因此 在合并 PR 更改之前 源位于修订版A 通常origin master 让我将 PR 合并提交指定为B 我当前的实现调用git diff tree
  • 获取引用而不下载对象[重复]

    这个问题在这里已经有答案了 我想检查 origin master 是否与我的 HEAD 不同 I do not想要git fetch 因为它可能非常昂贵 我滥用 git 的方式使得成本高得令人望而却步 任何允许我从远程获取提交列表或顶部提交
  • 即使给出了公钥,Gitosis 也需要密码

    我在 Archlinux 上尝试配置 gitosis 时遇到了一些问题 http wiki archlinux org index php Setting Up Git ACL Using gitosis http wiki archlin
  • 合并分支时,Git 不显示已删除行的当前/传入更改

    我正在尝试了解有关 git 分支 合并的更多信息 一直以来只使用 master 分支 我分支两次 然后执行合并 为什么 git 只显示新的冲突行 我想知道为什么删除 熊 根本没有突出显示为更改 您已经在评论中介绍了其中的一些内容 但让我们把
  • 在使用 Ant/Jenkins 时,如何查看同一 Java 项目的不同 Subversion 标签/分支?

    这是我的开发配置 颠覆之下 我有我的project X trunk 带有我最新的开发人员 我有我的project X tags 具有不同的版本 我正在考虑添加一个分支文件夹 我正在使用 Jenkins 使用 Ant 脚本构建我的projec
  • 在 github 上查找强制推送的提交者

    在我们的项目 托管在 GitHub 上 中 每隔一段时间就会有人意外强制推送 master 没有人知道是否这样做 我想找出是谁干的 以及背后有什么样的错误配置的工具或坏习惯 那么问题来了 如何识别进行强制推送的用户呢 当我拉动时 我看到这样
  • GitHub Web UI 中的“base”和“head”存储库是什么?

    GitHub 的 UI 相当不直观且考虑不周 所以这里有一个问题 什么是 头 回购 什么是 基础 回购 不知道是从哪一个抄来的 基础 和 头部 这两个词的意思是相同的 链表的 头 类似于树的 基 GitHub 有叉树和文件树 Head 和
  • 我可以在 git 中使用单个命令推送到多个存储库吗?

    基本上我想做一些类似的事情git push mybranch to repo1 repo2 repo3 现在我只是多次输入push 如果我急于完成push 我只需将它们全部发送到后台git push repo1 git push repo2
  • Python Subversion 包装器库

    在颠覆的文档 http svnbook red bean com en 1 7 svn developer usingapi html svn developer usingapi otherlangs有一个从 Python 使用 Subv
  • 您使用分支/标签/主干约定吗?

    您是否始终遵循将分支 标签和主干目录放在 Subversion 存储库顶层的惯例 最近 我不再打扰 也没有发生任何不好的事情 还 如果需要创建目录树 应该可以移动目录树 我是不是给以后惹麻烦了 您是否尝试过分支或标记 到那时 就没有问题了
  • TortoiseSVN 不允许我添加任何文件

    我正在尝试使用 TortoiseSVN 1 8 1 将文件添加到 SVN 存储库 我右键单击这些文件并选择 TortoiseSVN gt Add 然后 我选择弹出窗口中的所有文件 然后单击 确定 单击 确定 后 会弹出另一个对话框 所有文件
  • 恢复后如何挑选提交?

    我正在研究我的feature branch并在审核后合并到development待部署 后来 一位同事决定发布一个版本 并将他和我的合并到master 在部署时 他意识到他的代码有错误并恢复了master 在我们的分叉和拉动流程中 这意味着
  • 为什么安装 TortoiseSVN 后 AnkhSVN 解决方案中的所有文件都标记为新文件?

    安装 TortoiseSVN 1 6 0 后 加载到启用 AnkhSVN 的 Visual Studio 2008 项目中的所有文件都被标记为新文件 蓝 色 我尝试重新安装 AnkhSVN 2 0 6347 并将存储库检出到新的 干净 文件
  • 为什么某些 Git 分支名称中包含斜杠?

    我正在阅读本教程https www atlassian com git tutorials syncing git fetch https www atlassian com git tutorials syncing git fetch
  • svn:修订版本中不存在路径

    我想在颠覆中创建标签 在命令行上我尝试了以下操作 svn复制http myserver mycompany com 8080 svn SVN Main trunk http myserver mycompany com 8080 svn S
  • git rebase -i ——为什么它改变提交哈希值?

    所以我或多或少熟悉变基的工作原理 但直到最近我通常只做了一个git rebase i HEAD 20 并修改了需要修改的内容 我很惊讶地发现这将修改所有 20 个提交的哈希值 即使我采取的唯一操作是压缩最后两个提交 我不确定是什么导致其他

随机推荐