了解为什么版本控制对于基于团队的开发很重要
学习目标
完成本单元后,您将能够:
- 描述软件开发团队面临的常见挑战。
- 说明版本控制在缓解这些挑战中发挥的作用。
- 描述高效的开发团队通用的协作原则。
缺少版本控制的团队的悲惨故事
来认识一下 Sally、Gunjan 和 Ali。这三个人都是出色的开发人员,他们正在开发一款突破性的全新 Salesforce 应用程序,明天终于是重要的发布日。Sally 和 Gunjan 一直在开发人员组织工作,而 Ali 则一直在 Sandbox 组织工作。Sally 创建了一个非托管式软件包并将其推送到 Sandbox 组织中。Gunjan 也是这么做的。会有什么问题呢?
- 由于没有合并过程,他们很容易覆盖彼此的更改。
- Ali 在 Sandbox 中所做的更改如果被覆盖了,就没有办法找回了。
Sally、Gunjan 和 Ali 都是经验丰富的开发人员。他们有适当的流程来防止这样的情况发生,但这需要大量时间和周密的计划,而消耗的精力本可以用于构建新功能。这个团队也许根本没有意识到他们被使用的工具限制住了。即使没有感到任何不便,他们可能也感觉到了他们的团队并没有达到其潜在的效率和生产力。
版本控制来帮忙
版本控制的存在就是为了解决这些问题,而且它对每个开发人员来说都触手可及。有许多免费且优秀的开源版本控制系统 (VCS),但本课程将重点介绍 Git。无论您是独自工作还是与团队合作,改变您的工作流不仅可以帮助您避免这些问题,还能提高工作的整体质量。
版本控制如何有助于团队开发
版本控制一词在广义上包含任何帮助人们跟踪某事物的多个版本的系统。但它更常用于描述 Git 这样的软件工具。每个 VCS 都有各自的优缺点,但它们可以大致分为集中式或分布式。
Git 是最流行的分布式版本控制系统之一。分布式版本控制系统可在任意时间为每个协作者提供整个存储库的副本,包括开发人员本地机器上的所有分支(各种工作)和提交(历史保存点),从而允许开发人员灵活自由地工作。
合作共赢
现代版本控制系统旨在帮助团队解决他们在协作时面临的挑战。
要解决协作问题不能只靠 Git 这样的优秀 VCS,还需要您客观地观察和评估您的方法。通过打破孤岛并接受不同的观点来推动对话,您和您的团队可以交付更好的软件。有些工具和工作流专为改善沟通和整体质量而设计。
进入 GitHub——一个建立在 Git 之上的合作平台。GitHub 可充当一个社区空间,供您在其中分享您的工作、查看团队的工作、完成代码审查,以及连接可帮助您构建、测试和部署代码的集成。GitHub 是世界上最大的开源项目集合,并越来越多地被世界各地认识到开放式协作开发好处的先进组织所采用。