精华内容
下载资源
问答
  • 多项目并行管理
    千次阅读
    2022-02-17 16:09:12

    为什么选择Tracup?

    很简单,因为它够简洁,够轻量,上手够快!

    在我们的日常工作中有各种事物要处理,我们需要这样的敏捷工具来帮助我们解决问题并清晰的展开工作。Tracup为我们提供了适配需求管理、任务管理、缺陷管理、迭代管理等研发项目管理全场景,还支持敏捷、瀑布、通用任务协同等多种项目模版, 随时随地可以了解到团队以及项目的进展情况。

    在Tracup中,每个成员都可以以最快的速度了解到被分配的任务,与团队更好的协作。Tracup的功能都很实用,功能强大且容易上手。小型团队和企业级的项目管理需求我们都能支持。如果你需要办公场景切换,我们也做的游刃有余,小程序和web端协同处理,让你不惧任何突发状况!

    亮点:

    1.轻量,操作简单,上手超级快。

    虽然轻量、简单,但并不意味着要以牺牲功能作为代价。Tracup整个产品页面的设计都很好,可以直观的对任务进度一目了然。并且在整体布局和功能设置上,满足技术人员喜好和舒适便捷,真正让大家能实现优雅高效的工作。

    2.完美支持项目仓库功能

    项目仓库功能是指,您可以将您在 Tracup 上的项目进行代码仓库托管。当您项目中有问题的改动和修正时,我们会将您的改动信息同步到该问题的下方以方便查看,记录,保存和再次检查。项目仓库功能能方便地将您的项目进行更高效和有条理的管理,方便开发者和使用者对每一次改动都进行有效,可追踪的管理。

    3.完美支持甘特图功能

    相比文字,图像的表达方式更加立体,更能直观形象地传递信息。在对接或汇报工作时,「直接上图」更是向对方表达尊重的最佳方式。透过Tracup的甘特图功能,项目存在的各种问题和完成情况可以瞬间一览无余。

    4.全局项目管理

    为管理者提供跨项目的全局视野,在一个界面汇总各项目问题进展,多个项目并行,同步管理,免去不断切换项目,分别处理问题的麻烦,让所有问题了然于胸,真正做到全局管理

    5.个人任务管理

    为任务执行成员提供问题的精准筛选、个人工作台、个人日历等多种打开方式,专注查看仅自己或特定成员的工作安排与进度,合理规划手头任务,轻松规划个人任务。

    6.无限提高团队研发效率

    说了这么多,浓缩成一个字,就是「省」!同为创业公司,Tracup 的产品团队希望更多的小伙伴能够用上好工具,提升工作效率,不要让无效沟通消磨了大家的经历与创造力。现在就与 Tracup 一起,享受高效工作带来的快乐吧!

    想要了解更多项目管理解决方案请移步Tracup

    更多相关内容
  • 在分析多项目并行调度特点的基础上,基于Petri网擅长描述随机性、任务间并发、同步、并行等系统特征的优势,克服当前已有的多项目并行调度模型的不足,构建了基于CPN的多项目并行调度模型。通过建模实例阐述了模型的...
  • 大部分企业在运营过程中一般会存在项目并行推进的情况,一段时间只运营一个项目的情况已经很少。无论是对项目管理者还是项目执行者而言,项目同时进行比单项目运行更具挑战。项目管理一般会存在各项目之间抢...

    大部分企业在运营过程中一般会存在多个项目并行推进的情况,一段时间只运营一个项目的情况已经很少。无论是对项目管理者还是项目执行者而言,多项目同时进行比单项目运行更具挑战。多项目管理一般会存在各项目之间抢资源、资源冲突、资源分配不合理(可能存在“忙的忙,闲的闲”)等情况。很多企业面对同时进行的多个项目往往手忙脚乱,只能勉强支撑,难以保质保量完成。

    在多项目同时进行的情况下,企业面对的项目管理难题主要概括为以下三点:

    ①进度管理难:多个项目并行,一方面,执行层会有更多的工作和任务,时间安排更加饱和,如果员工拖延或者效率不高,容易延误整个项目的进度;另一方面,管理层手上的项目变多,对每个项目进度的管理和监控也会变迟钝,很难及时发现进度延误的风险。

    ②资源分配难:企业的资源、人员是固定且有限的,在同时进行多个项目时,难免会出现资源的交叉和重合,每个项目应该安排多少人天、应该安排初级人员还是必须要高级人员,人员有交叉项目时应该如何排期,这些都是多项目同时进行会带来的问题。

    ③沟通协作难:项目多且同时进行,导致项目管理者需要沟通的事项和人员变得更多,沟通的内容也增加了更多调度和协作方面的问题,项目管理者需要上传下达,每天奔波在各个项目和相关人员之间。

    多项目同时进行既然是大部分企业的现状,那么找到方法规避其中风险、解决遇到的难题是当务之急。对于多项目管理给项目管理人员和项目执行人员带来的有困扰,下文将从两者的角度分别给出建议和解决方案:

    一、项目管理者角度

    对于项目管理者来说,制定科学的项目计划、实时有效的管理监控、合理分配项目资源是重点,要做到这些,拥有相关的项目管理理论和知识远远不够,有技巧、更高效、更准确的完成才是项目管理者们的竞争力——借助于项目管理工具,项目管理者们可以事半功倍,完美应对多项目同时进行带来的难题。以下以易趋为例,展示项目管理工具如何帮助项目管理者们解决多项目管理难题,提高项目管理效率:

    ①两级计划管理

    在多个项目并行时,对于执行层来说,项目计划应细化到任务条目、执行人、时间,以便每个人员都能明确地安排自己工作的开展。但是高层领导一般不关注具体任务和分派情况,他们关注的是某个阶段项目的进程和完成质量。因此,制定两级计划就很有必要——面向领导层展示管理阶段的里程碑计划,面向执行层展示项目的WBS计划。

    项目里程碑计划展示重大节点的状态、进度和交付物,高层领导可以在此处掌握项目的执行情况和评审交付物的质量。

    项目分解计划展示具体的项目任务和工时分配,一般有WBS、甘特图、关键路径等视图,项目的执行人员可清晰明了地看到分派到自己的任务、工时。

    ②组合监控

    面对多个项目时,如果每个项目孤立运行,各项目经理分别向高层领导汇报项目的进度和交付物,高层领导难以发现项目中的风险和问题,需要花费大量时间将这些项目信息进行整合分析,才能作出判断和决策。用易趋项目组合管理进行组合管理和监控,高层领导可以实时掌握组合内所有项目的状态,并结合组合内的财务、收益,对项目进行分析、选择和决策。如图,易趋为组合内的所有项目搭建了一个管理仓,以红绿灯展示项目进度、交付物等的状态,能够很好地帮助高层领导统筹和管理项目。

    ③资源团队管理

    多项目同时进行,企业的资源出现紧张是正常的,各项目之间经常上演抢夺资源的情况,因此,合理分配资源和和掌控团队资源池的储备情况十分重要。

    易趋的解决方案是资源经理/部门经理可以自定义团队人员的角色和信息,根据员工的技能、经验设定资源属性和类型(如a员工负责过大型项目、有10年工作经验,应该属于资深人员,而不是初级人员),然后根据项目经理的资源申请和项目的难度来分配人员,以免出现资源浪费。

    团队内项目的情况,包括进度和交付物等,易趋以视图展示,通过红绿灯提醒,让资源经理/团队经理可以及时发现异常情况,并及时调整资源计划。

    二、项目执行人员角度

    对于项目成员来说,多项目同时进行对自身的影响体现在:接收到更多的任务,而且横跨多个项目。要想保证每个任务都按时完成,提高工作效率非常重要。而要提高工作效率,项目执行人员可以通过两个途径,一是借助项目管理工具,二是提高自身能力:

    ①利用项目管理工具提高工作效率

    在项目管理中,资源分配、成本收益、进度监控都不是项目执行人员能涉及和关心的东西,他们更关注与自己有关的内容,比如参与了哪些项目、项目中被分配到了哪些任务、有哪些交付物需要完成和提交等等。这些诉求同样可以通过项目管理工具来实现,在易趋的“个人中心”模块,项目成员一目了然所有分配到自身的任务,还可以根据颜色分类来确定工作优先级,减少遗忘和拖延,让项目成员的工作更科学,从而提高工作效率:

    ②提升个人能力来提高工作效率

    项目任务变多,借助于项目管理工具可以帮助梳理任务、安排优先级、制定科学的计划,但所有的任务最终还是要项目成员本人去具体完成,因此个人的能力和技能对工作效率也有着不可忽视的作用。以下列举部分有助于工作效率提升的技能:

    提高沟通效率:很多人在工作中要花费很大一部分时间来沟通,和客户沟通需求、与成员沟通方案等,这时学会沟通技巧、提升沟通效率可以节省很多不必要的时间。

    学会总结和思考:不同的项目之间有没有共性?有没有可以重复使用的材料或经验?将这些东西总结出来并加以利用,项目工作可以事半功倍。

    合理利用资源:项目工作也很强调协作和配合,完成任务时,调动企业内部的可用资源和人脉,可有效提高工作效率和成功率。

    总结:现如今,多项目同时进行已经是必然趋势,抱怨或者消极应对并不能解决问题,不管是项目管理人员还是项目执行人员,都需要面对企业业务发展带来的多项目管理要求。面对变化的环境,不妨从内外两种维度思考,寻求解决方案,如内部维度提升自己,提升项目管理能力和素养,提高工作技能和效率;外部维度借助合适的项目管理工具,现代化作业中,更加强调借助工具提高作业效率和精准度,善于利用各式工具开展工作是信息化时代职场人的职业素养。

     

    展开全文
  • 信息化-项目管理-并行产品开发项目管理模型研究与应用系统实现.pdf
  • 信息化-项目管理-基于并行工程的高速铁路建设项目管理模式研究.pdf
  • 信息化-项目管理-并行工程在房地产企业项目管理中的应用研究.pdf
  • 信息化-项目管理-通信制造企业研发项目管理并行工程研究.pdf
  • 信息化-项目管理-建设监理制度与项目管理制度并行模式研究.pdf
  • 火龙果软件工程技术中心 版本管理危机起始阶段:项目的开始,项目组只有从第三方获取的类库、具备编程知识的程序员和PM(项目经理)。由于成员数量不少,使用简单共享方式的版本管理往往难以胜任,某些人往往会因为...
  • 信息化-项目管理-基于并行工程的汽车胶管企业新产品开发项目管理体系研究——以V公司为例.pdf
  • C#线程并行管理,通过Task实现,可对单个任务进行暂停,继续以及停止等操作,每个任务均有单独的进度条显示 同时执行的任务个数可以自行设置
  • SVN多项目并行版本管理解决方案

    千次阅读 2017-07-06 17:16:00
    基于SVN版本管理模式,分支版本并行,分支合并主干交付。分支开发存在依赖关系且有交付的先后顺序, 导致了合并主干冲突。 3、解决方案 业务版本号(4位主干版本号)与SVN版本号的映射关系 + 主干版本号与...

    1、背景

    随着公司业务拓展,各业务部门频繁的需求变更,导致系统集成冲突的问题日益突出。

    2、现状

    基于SVN版本管理模式,多分支版本并行,分支合并主干交付。多分支开发存在依赖关系且有交付的先后顺序, 导致了合并主干冲突。

    3、解决方案

    业务版本号(4位主干版本号)与SVN版本号的映射关系

    +

    主干版本号与分支版本号的映射关系

    3.1名词解释:

    3.1.1业务版本号:提测版本号,即当前的主干版本号,由四位数字组成,如: DUPFJ V1.0.1.1 。

    3.1.2 SVN版本号:SVN每次提交操作后自动生成且末位数字+1

     

    3.1.3主干版本号:主干版本号(即业务版本号)与SVN版本号的映射关系

    3.1.4分支版本号:不限制,分支可有可无,分支数量无要求

    3.1.5 SVN实现方式

    实现方式:

        ①拉分支记录主干当前业务版本号(同最后一轮转测版本号)

    ②合主干记录提测主干版本(这里说的版本号统一是业务版本号,业务版

    本号映射svn版本)

    ③回滚版本,根据源码交付操作记录获取当时主干版本号进行回滚版本

    3.2解决方案

     

    存在的问题:

    1、  主干回滚频率高;

    2、  技术能力(SVN操作、冲突解决的能力)

    3、  项目编排(先后顺序、依赖关系)

    以上三个问题,均归属于技术风险。

    问题1解决方案:SVN合并主干规范化。通过规范SVN合主干描述中的业务版本号,确保频繁回滚主干的规范性。

     

    问题2解决方案:通过持续交付系统实现对SVN的自动化操作。

    根据持续交付系统的SVN操作记录,实现多项目并行交付。

     

     

    持续交付系统会记录SVN上每次的操作记录(log信息),记录项目、主干版本号、分支版本号和归档版本号的映射关系。

     

     

    合并主干时:

    待提测主干版本号末位-1是否与映射关系记录中当前主干版本号一致;

    1、  一致:直接合并主干;

    2、  不一致:

    1)主干版本号末位-1在映射关系记录中有记录,但并不是当前主干版本号时

    实现方式:先回滚再合并主干

    ①先回滚至主干版本号末位-1的主干版本;

    ②再合并主干;

    示例:待测主干版本号2.0.2.4,末位-1为2.0.2.3,在映射关系记录中有记录,但并不是当前主干版本号

    ①先回滚至2.0.2.3

    ②回滚成功后再合并主干

    2)主干版本号末位-1在映射关系记录中没有记录时

    实现方式:先回滚再合并主干

    ①主干版本号前三位为分支版本号,通过分支版本号找到与最初主干版本号的映射关系(即第一个分支与主干版本号的映射关系),先回滚至该主干版本;

    ②再合并主干;

    示例:待测主干版本号2.0.2.1,末位-1为2.0.2.0,在映射关系记录中没有记录

    ①主干版本号2.0.2.1,由此可以确定分支版本号为2.0.2,分支版本号可以确定该分支与最初主干版本号2.0.1.3存在映射关系。先回滚至最初主干版本号2.0.1.3。

    ②回滚成功后再合并主干;

    问题3解决方案:通过项目上线的优先级解决。优先级高的项目优先编排,优先合主干。

     

    4 总结

    技术风险是可控的风险,可以通过持续交付系统规避或降低,将技术风险控制在可控的低风险范围。

    业务风险不可控,业务风险不可预测且随着对业务覆盖率的要求和业务节点的增加,将会导致,风险越来越大,这种业务风险是不可控制的。

    业务覆盖:由于节点增多,测试疲劳导致业务覆盖率降低

    业务节点:交付节点由一个变成了两个,交付节点出现问题的概率就会增加。

    技术风险比业务风险低且可控。

    综合分析,方案一更合适。

     

    展开全文
  • 另外,并行工程逐渐地被受关注,也是因为项目管理理论的快速发展,其主要的特点是能够更好地发挥出研发过程的指导以及控制作用,能够节约资金和缩短工期。该理论能够将设计和建设相结合发挥更大的优势,从而使项目进度和...
  • 本文提出了一种基于进化算法在GPU上并行实现的基于搜索的软件项目管理方法。 我们重新设计了进化算法,以满足并行编程的目的。 我们的方法旨在使遗传算子并行化,包括:进化过程中的交叉,突变和评估,以实现更快的...
  • 本文将展示我一年前在自己的项目中...这里介绍的不是任何项目的细节,而是有关分支的策略以及对发布的管理。 为什么选择 git ? 为了了断 git 和中心源代码控制系统的比较和争论,请移步这里看看链接1链接2...

    译自:A successful Git branching model » nvie.com

    本文将展示我一年前在自己的项目中成功运用的开发模型。我一直打算把这些东西写出来,但总是没有抽出时间,现在终于写好了。这里介绍的不是任何项目的细节,而是有关分支的策略以及对发布的管理。

     

    为什么选择 git ?

    为了了断 git 和中心源代码控制系统的比较和争论,请移步这里看看 链接1 链接2。作为一个开发者,我喜欢 git 超过其它任何现有的工具。Git 真正改变了开发者对于合并和分支的认识。在传统的 CVS/SVN 里,合并/分支总是有点令人害怕的(“注意合并冲突,它们会搞死你的”)。

    但是 git 中的这些操作是如此的简单有效,它们真正作为你每天工作流程的一部分。比如,在 CVS/SVN 的书籍里,分支和合并总是最后一个章节的讨论重点(对于高级用户),而在每一本 git 的书里 链接1 链接2 链接3,这些内容已经被包含在第三章(基础)里了。

    因为它的简单直接和重复性,分支和合并不再令人害怕。版本控制工具比其它任何东西都支持分支/合并。

    有关工具就介绍到这里,我们现在进入开发模型这个正题。我要展现的模型本质上无外乎是一个流程的集合,每个团队成员都有必要遵守这些流程,来达到管理软件开发流程的目的。

    分散但也集中

    我们的分支模型中使用良好的代码库的设置方式,是围绕一个真实的中心代码库的。注意,这里的代码库仅仅被看做是一个中心代码库(因为 git 是 DVCS,即分散版本控制系统,从技术层面看,是没有所谓的中心代码库的)。我们习惯于把这个中心代码库命名为 origin,这同时也是所有 git 用户的习惯。

     

    每一位开发者都向 origin 这个中心结点 pull 和 push。但是除此之外,每一位开发者也可以向其它结点 pull 改变形成子团队。比如,对于两个以上开发者同时开发一项大的新特性来说,为了不必过早向 origin 推送开发进度,这就非常有用。在上面的这个例子中,Alice 和 Bob、Alice 和 David、Clair 和 David 都是这样的子团队。

    从技术角度,这无非意味着 Alice 定义一个名为 Bob 的 git remote,指向 Bob 的代码库,反之亦然。

    主分支

    该开发模型的核心基本和现有的模型是一样的。中心代码库永远维持着两个主要的分支:

    • master
    • develop

    在 origin 上的 master 分支和每个 git 用户的保持一致。而和 master 分支并行的另一个分支叫做 develop

    我们认为 origin/master 是其 HEAD 源代码总是代表了生产环境准备就绪的状态的主分支。

    我们认为 origin/develop 是其 HEAD 源代码总是代表了最后一次交付的可以赶上下一次发布的状态的主分支。有人也把它叫做“集成分支”。该源代码还被作为了 nightly build 自动化任务的来源。

    每当 develop 分支到达一个稳定的阶段,可以对外发布时,所有的改变都会被合并到 master 分支,并打一个发布版本的 tag。具体操作方法我们稍后讨论。

    因此,每次改动被合并到 master 的时候,这就是一个真正的新的发布产品。我们建议对此进行严格的控制,因此理论上我们可以为每次 master 分支的提交都挂一个钩子脚本,向生产环境自动化构建并发布我们的软件。

    支持型分支

    我们的开发模型里,紧接着 master 和 develop 主分支的,是多种多样的支持型分支。它们的目的是帮助团队成员并行处理每次追踪特性、准备发布、快速修复线上问题等开发任务。和之前的主分支不同,这些分支的生命周期都是有限的,它们最终都会被删除掉。

    我们可能会用到的不同类型的分支有:

    • feature 分支
    • release 分支
    • hotfix 分支

    每一种分支都有一个特别的目的,并且有严格的规则,诸如哪些分支是它们的起始分支、哪些分支必须是它们合并的目标等。我们快速把它们过一遍。

    这些“特殊”的分支在技术上是没有任何特殊的。分支的类型取决于我们如何运用它们。它们完完全全都是普通而又平凡的 git 分支。

    feature 分支

    • 可能派发自:develop
    • 必须合并回:develop
    • 分支命名规范:除了 masterdeveloprelease-* 或 hotfix-* 的任何名字

    Feature 分支(有时也被称作 topic 分支)用来开发包括即将发布或远期发布的新的特性。当我们开始开发一个特性的时候,发布合并的目标可能还不太确定。Feature 分支的生命周期会和新特性的开发周期保持同步,但是最终会合并回 develop (恩,下次发布的时候把这个新特性带上)或被抛弃(真是一次杯具的尝试啊)。

    Feature 分支通常仅存在于开发者的代码库中,并不出现在 origin 里。

    创建一个 feature 分支

    当开始一个新特性的时候,从 develop 分支派发出一个分支

    $ git checkout -b myfeature develop
    Switched to a new branch "myfeature"
    

    把完成的特性合并回 develop

    完成的特性可以合并回 develop 分支并赶上下一次发布:

    $ git checkout develop
    Switched to a new branch "develop"
    $ git merge --no-ff myfeature
    Updating ea1b82a..05e9557
    (Summary of changes)
    $ git branch -d myfeature
    Deleted branch myfeature (was 05e9557)
    $ git push origin develop
    

    -no-ff 标记使得合并操作总是产生一次新的提交,哪怕合并操作可以快速完成。这个标记避免将 feature 分支和团队协作的所有提交的历史信息混在主分支的其它提交之后。比较一下:

    在右边的例子里,我们不可能从 git 的历史记录中看出来哪些提交实现了这一特性——你可能不得不查看每一笔提交日志。恢复一个完整的特性(比如通过一组提交)在右边变成了一个头疼事情,而如果使用了 --no-ff 之后,就变得简单了。

    是的,这会创造一些没有必要的(空的)提交记录,但是得到的是大量的好处。

    不幸的是,我还没有找到一个在 git merge 时默认就把 --no-ff 标记打上的办法,但这很重要。

    release 分支

    • 可能派发自:develop
    • 必须合并回:develop 和 master
    • 分支命名规范:release-*

    Release 分支用来支持新的生产环境发布的准备工作。允许在最后阶段产生提交点(dotting i’s)和交汇点(crossing t’s)。而且允许小幅度的问题修复以及准备发布时的meta数据(比如版本号、发布日期等)。在 release 分支做了上述这些工作之后,develop 分支会被“翻篇儿”,开始接收下一次发布的新特性。

    我们选择(几近)完成所有预期的开发的时候,作为从 develop 派发出 release 分支的时机。最起码所有准备构建发布的功能都已经及时合并到了 develop 分支。而往后才会发布的功能则不应该合并到 develop 分支——他们必须等到 release 分支派发出去之后再做合并。

    在一个 release 分支的开始,我们就赋予其一个明确的版本号。直到该分支创建之前,develop 分支上的描述都是“下一次”release 的改动,但这个“下一次”release 其实也没说清楚是 0.3 release 还是 1.0 release。而在一个 release 分支的开始时这一点就会确定。这将成为有关项目版本号晋升的一个守则。

    创建一个 release 分支

    Release 分支派发自 develop 分支。比如,我们当前的生产环境发布的版本是 1.1.5,马上有一个 release 要发布了。develop 分支已经为“下一次”release 做好了准备,并且我们已经决定把新的版本号定为 1.2 (而不是 1.1.6 或 2.0)。所以我们派发一个 release 分支并以新的版本号为其命名:

    $ git checkout -b release-1.2 develop
    Switched to a new branch "release-1.2"
    $ ./bump-version.sh 1.2
    Files modified successfully, version bumped to 1.2.
    $ git commit -a -m "Bumped version number to 1.2"
    [release-1.2 74d9424] Bumped version number to 1.2
    1 files changed, 1 insertions(+), 1 deletions(-)
    

    创建好并切换到新的分支之后,我们完成对版本号的晋升。这里的 bump-version.sh 是一个虚构的用来改变代码库中某些文件以反映新版本的 shell 脚本。(当然你也可以手动完成这些改变——重点是有些文件发生了改变)然后,晋升了的版本号会被提交。

    这个新的分支会存在一段时间,直到它确实发布出去了为止。期间可能会有 bug 修复(这比在 develop 做更合理)。但我们严格禁止在此开发庞大的新特性,它们应该合并到 develop 分支,并放入下次发布。

    完成一个 release 分支

    当 release 分支真正发布成功之后,还有些事情需要收尾。首先,release 分支会被合并到 master (别忘了,master 上的每一次提交都代表一个真正的新的发布);然后,为 master 上的这次提交打一个 tag,以便作为版本历史的重要参考;最后,还要把 release 分支产生的改动合并回 develop,以便后续的发布同样包含对这些 bug 的修复。

    前两部在 git 下是这样操作的:

    $ git checkout master
    Switched to branch 'master'
    $ git merge --no-ff release-1.2
    Merge made by recursive
    (Summary of changes)
    $ git tag -a 1.2
    

    现在发布工作已经完成了,同时 tag 也打好了,用在未来做参考。

    补充:你也可以通过 -s 或 -u <key> 标记打 tag。

    为了保留 release 分支里的改动记录,我们需要把这些改动合并回 develop。git 操作如下:

    $ git checkout develop
    Switched to branch 'develop'
    $ git merge --no-ff release-1.2
    Merge made by recursive.
    (Summary of changes)
    

    这一步有可能导致冲突的发生(只是有理论上的可能性,因为我们已经改变了版本号),一旦发现,解决冲突然后提交就好了。

    现在我们真正完成了一个 release 分支,该把它删掉了,因为它的使命已经完成了:

    $ git branch -d release-1.2
    Deleted branch release-1.2 (was ff452fe).
    

    hotfix 分支

     

    • 可能派发自:master
    • 必须合并回:develop 和 master
    • 分支命名规范:hotfix-*

    Hotfix 分支和 release 分支非常类似,因为他们都意味着会产生一个新的生产环境的发布,尽管 hotfix 分支不是先前就计划好的。他们在实时的生产环境版本出现意外需要快速响应时,从 master 分支相应的 tag 被派发。

    我们这样做的根本原因,是为了让团队其中一个人来快速修复生产环境的问题,其他成员可以按工作计划继续工作下去而不受太大影响。

    创建一个 hotfix 分支

    Hotfix 分支创建自 master 分支。例如,假设 1.2 版本是目前的生产环境且出现了一个严重的 bug,但是目前的 develop 并不足够稳定。那么我们可以派发出一个 hotfix 分支来开始我们的修复工作:

    $ git checkout -b hotfix-1.2.1 master
    Switched to a new branch "hotfix-1.2.1"
    $ ./bump-version.sh 1.2.1
    Files modified successfully, version bumped to 1.2.1.
    $ git commit -a -m "Bumped version number to 1.2.1"
    [hotfix-1.2.1 41e61bb] Bumped version number to 1.2.1
    1 files changed, 1 insertions(+), 1 deletions(-)
    

    别忘了在派发出分支之后晋升版本号!

    然后,修复 bug,提交改动。通过一个或多个提交都可以。

    $ git commit -m "Fixed severe production problem"
    [hotfix-1.2.1 abbe5d6] Fixed severe production problem
    5 files changed, 32 insertions(+), 17 deletions(-)
    

    完成一个 hotfix 分支

    当我们完成之后,对 bug 的修复需要合并回 master,同时也需要合并回 develop,以保证接下来的发布也都已经解决了这个 bug。这和 release 分支的完成方式是完全一样的。

    首先,更新 master 并为本次发布打一个 tag:

    $ git checkout master
    Switched to branch 'master'
    $ git merge --no-ff hotfix-1.2.1
    Merge made by recursive
    (Summary of changes)
    $ git tag -a 1.2.1
    

    补充:你也可以通过 -s 或 -u <key> 标记打 tag。

    然后,把已修复的 bug 合并到 develop

    $ git checkout develop
    Switched to branch 'develop'
    $ git merge --no-ff hotfix-1.2.1
    Merge made by recursive
    (Summary of changes)
    

    这个规矩的一个额外之处是:如果此时已经存在了一个 release 分支,那么 hotfix 的改变需要合并到这个 release 分支,而不是 develop 分支。因为把对 bug 的修复合并回 release 分支之后,release 分支最终还是会合并回 develop 分支的。(如果在 develop 分支中立刻需要对这个 bug 的修复,且等不及 release 分支合并回来,则你还是可以直接合并回 develop 分支的,这是绝对没问题的)

    最后,删掉这个临时的分支:

    $ git branch -d hotfix-1.2.1
    Deleted branch hotfix-1.2.1 (was abbe5d6).

     

     

     

     

     

     

     

    展开全文
  • 项目并行性流程的程序编制.pptx
  • 在上家公司做运维时,接触到了代码管理和版本的发布工作。当时的公司刚成立,IT人员非常的少,总共五个人(包括UI设计,开发,运维)带着20个左右的外包。回想当时真是我工作7年中最痛苦的日子。  当时开发速度...
  • 为此,需要对这些设备进行功能扩充,使之能够按要求对所需数据进行存储,并提供相应的数据分析和处理功能,从而方便管理部门工作,提高生产效率和项目管理质量。  方案分析  在不影响原有设备正常工作的前提下,完成...
  • Git分支并行开发合并策略

    千次阅读 2020-02-20 15:56:36
    一、项目背景 项目AB分支同时进行开发时,A分支开发过程中有其他分支B上线,并且B分支上线版本已同步(merge)到master,则须合并已上线版本到正在开发的分支A上,避免A分支上线时覆盖B分支的代码,导致功能倒退。 ...
  • 针对信息环境下企业项目管理中资源配置这一核心问题,应用随机理论确定了企业资源多项目并行配置中的资源等效效率概念和效率转换系数概念,建立了资源配置效率模型,通过对其数学方程的分析给出了相应的算法。...
  • 版本并行开发测试解决方案

    千次阅读 2020-05-09 10:20:42
    在如此研发背景下,作为研发过程中不可或缺的一环业务链路联调,面临越来越的挑战: 联调涉及应用服务,导致环境构建和维护的成本都非常高,手工搭建一套可用联调环境,少则1-2天,部分情况下甚至可能花费1到2...
  • SVN 并行开发项目管理

    千次阅读 2017-06-15 09:28:13
    SVN 并行开发项目管理 SVN 分散式开发
  • 在分析多项目并行任务资源分配的研究现状基础上,针对企业项目管理中有限人力资源配置这一核心问题,对人力资源限制下项目任务调度的过程进行了数学描述,并采用基于病毒遗传算法的倒排法对项目任务进行排程,...
  • 项目范围管理:确保项目包括成功完成项目所需的全部工作,但又只包括必须完成的工作的各个过程。它主要关心的是确定与控制哪些应该(哪些不应该)包括在项目之内。 主要包括五个过程:范围规划;范围定义;制定...
  • 如果还不清楚 Git 的基础使用流程、分支的管理以及托管服务器的相关技术,请参考博客: Git之深入解析Git的安装流程与初次运行Git前的环境配置; Git之深入解析本地仓库的基本操作·仓库的获取更新和提交历史...
  • 本论文以"神华宁夏煤业集团太西洗煤厂快速装车系统改造"项目(以下简称"C80"项目)为例,重点从项目进度计划编制、联合管理团队的建设以及利用先进的信息技术保障并行工程的顺利实施等方面研究了并行工程在该项目中的...
  • 运用动态规划的思想和网络计划的方法,利用马尔可夫链模型和甘特图进行IT项目进度预测,包括并行进度的预测,构建了一个并行的IT项目进度马尔可夫链预测模型。该方法运用动态规划的分阶段思想,把马尔可夫链和甘特图运用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 146,478
精华内容 58,591
关键字:

多项目并行管理