如何在项目中利用 git 提高工作效率

文/陈灵


华为无线网络产品线五级软件专家,在大型软件架构设计、性能优化方面有丰富的成功经验,多次荣获公司/产品线优秀软件架构实践表彰。

华为的明星博主,原创软件技术博客超过一百篇,愈十万字,促进了软件领域各种原理、方法、实践应用知识在公司内的普及。

 C++ 专家,著有《C++ Programming Guidelines for Embeded System》、《C++ 在嵌入式系统应用的五大问题及解决方案》等大部头。

公司早期 git 与社交编程的实践者和布道者之一,同时开创了公司的技术面试环节依据 github 记录考察能力的先河。


在最近参与的 OSS 优化项目中,我们应用 git 来作为优化代码版本管理、团队协作的工具。

在这个优化项目中,我们:

  • 前后创建了大约 20 个优化分支;

  • 累计完成了超过 350 次提交;

  • 累计完成了 41 次分支合并。

与此相对比的,在很多产品的一个 R 版本开发过程中,甚至不会有开发分支。得益于 git 以及 gitlab 提供的代码托管,上面这些工作(分支建立、分支合并)变得非常简单,极大的提高了整个工作效率。


为什么要使用 git 而不是 SVN?


如果仅仅把 git 当成一个替代 SVN 的工具,我认为不需要从这里找答案,现在有很多 git 教材,都会或多或少的把 git 和传统的集中式的版本管理工具,比如 CVS、SVN 进行一番对比,给出答案。

在基于问题——改进思维模式中,我们可以发现,期望从工具优劣的角度说服使用 git 而不是 SVN 是始终站不住脚的,因为 git 同样存在一堆自己的缺点,比如:太灵活、学习成本远高于 SVN 等。

所以要使用 git,我们必需要看到工具背后极力所倡导的一种团队开发的模式和理念,基于对这种模式和理念的探索,我们再谈 git,才是一件比较顺理成章的事情。

从性能优化这件事情本身来看,通过分析历史版本优化数据,我们可以看到:

  • 我们实际修改优化 100 个优化点,能够确认产生明显收益的,可能不到 50%,也就是说对于优化来说,如何管理好优化点的修改记录,这是最大的挑战。这个述求总结下来就是方便的回溯;

  • 在一个子系统、全系统优化项目中,优化启动、优化实施、优化效果确认整个闭环周期相对较长,通常的模式都是单独走自己的优化分支进行优化的实施和确认,实施完毕之后再进行反合。在这个过程中又在结合问题 1,就会发现,如果只有一个 SVN,多人协作是非常困难的事情。

协作模式


1、基于 SVN 的协作模式

我们先看基于 SVN 的协作模式,基本上如下:


(点击图片,查看大图)

我们现在对分支管理比较严格,要求一个主干。这个要求对于产品的发布版本没有问题, 但作为开发过程或者迭代要求来说,是不适应生产力发展的要求的。在上面这种模式下面,如果多个开发人员之间要共享协作,基本都是采取文件共享这种最低级的方式,采取人工对比合入的方式进行操作(图中步骤 2)。

在很多时候, 步骤 2、3 和 5、6 会成为开发过程中的瓶颈,花上大量时间合入、合入之后解决各种本地构建的问题。 我们通常会低估这些工作的难度,在项目计划上预留很少的时间来做这些事情。

其次,SVN 上分支同步、管理比较麻烦,如果同一项目在自己本地超过 3 个分支,并且要在不同分支之间切换、修改、合并是一件比较困难的事情。

2、基于 git 的协作模式

如果使用 git,协作模式类似如下:

  • Step 1,用户在本地创建新的分支;


  • Step 2,用户将分支 push 到一个公共服务器,以便其他用户获取该分支;

  • Step 3,第二个用户从远程服务器获取分支;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 项目代码git管理制度是一种非常有效的代码版本控制系统,它可以追踪代码版本历史,管理代码的变更,确保代码的可靠性和可重复性。在项目开发过程,使用git管理代码可以提高开发效率,减少开发人员之间合作时的冲突和错误,避免代码丢失或被覆盖等问题。此外,git还支持分支管理,可以实现代码的并行开发和协同开发,减少代码集成的时间和成本。在代码审查和测试方面,git管理系统也提供了强大的支持,可以很容易地生成代码报告和比较两个版本之间的变更。 最后,项目代码git管理制度不仅是开发过程的必要工具,在代码部署和维护过程也具有重要的作用。通过git的分支管理版本控制,可以确保代码的稳定性和可维护性,避免无效和不必要的代码部署。综上所述,项目代码git管理制度是一种非常有效的代码管理工具,它可以帮助团队高效协同开发和保障项目质量,是现代软件开发过程必不可少的一部分。 ### 回答2: 项目代码Git管理制度是指在项目开发过程,采用Git工具进行代码版本控制和团队协作的一种规范流程。Git是一种开源的版本控制工具,可以帮助团队成员速、高效地协作,同时可以对代码进行审核和修改,保证代码的质量和稳定性。 在项目开发前,需要制定Git管理策略,包括分支管理、团队权限设置、代码合并机制等。通常情况下,采用Git Flow工作流程,通过主分支、开发分支、特性分支、发布分支等分支进行代码管理,确保各分支之间的代码互相独立、不冲突、可重用。 在具体的开发过程,每个团队成员需要遵循Git代码提交规范,包括提交信息的格式、提交的时间、提交的内容等。同时,Git还提供了代码审核工具,每次代码提交后需要由其他团队成员进行审核,确保代码的质量和可读性。 最后,Git作为一个开源的版本控制工具,还可以优化团队的协作和沟通方式,通过Git的协同工作方式,让团队成员更好地进行沟通和合作,提高开发效率和代码质量。 综上所述,项目代码Git管理制度是一种高效、透明和规范的代码管理流程,可以帮助团队成员速、高效地协作,同时可以提高代码质量和开发效率。 ### 回答3: 项目代码git管理制度是指利用git工具对项目代码进行版本控制和管理的规定。git是一款优秀的分布式版本控制工具,具有高效、灵活、安全等优点,广泛应用于软件开发、网络运维等领域。 git管理制度包括代码提交、分支管理代码合并、代码回滚等方面的规定。对于代码的提交,可以限制提交人员、强制填写提交信息、设置代码审查等措施,以确保代码质量和安全性。分支管理可以根据项目的需求设定主分支、开发分支、发布分支等,协调不同开发人员的工作,保证各个版本的协调和兼容性。 代码合并是项目开发的一个重要环节,通过合并不同分支的代码,保证代码的同步和一致性。代码回滚是指在出现问题时,能够速、迅速地回滚到之前的版本,以避免对项目造成不必要的损失。 git管理制度可以加强代码质量控制,提高团队协作效率,方便代码管理和维护,确保项目的稳定和可持续开发。同时,需要注意的是git管理制度的制定应该与团队开发方式相结合,根据不同项目的实际需要进行灵活调整,以达到最佳的管理效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值