版本控制(1)

学习目标

完成本单元后,您将能够:

  • 描述软件开发团队面临的常见挑战。
  • 解释版本控制在缓解这些挑战中的作用。
  • 描述有效开发团队共享的原则。

注意

我们Salesforce和GitHub很高兴在这个模块上进行合作,学习使用像Git这样的版本控制系统(VCS)。我们共同致力于创建成功的公司,我们认识到VCS在确保成功方面发挥的关键作用。

没有版本控制的团队可怕的故事

认识Sally,Gunjan和Ali。这三个惊人的开发人员正在开发一个令人兴奋的新的Salesforce应用程序,明天是大发布日。 Sally和Gunjan一直在开发者组织工作,阿里在沙盒组织工作。 Sally创建一个非托管包,并将其推送到沙箱组织。 Gunjan也一样。有什么可能出错?

  • 没有合并过程,所以他们可以很容易地覆盖彼此的变化。
  • 如果阿里在沙箱里所做的改变被覆盖了,那么就没有办法再去夺回他们了。

Sally,Gunjan和Ali是经验丰富的开发人员。他们有适当的流程来防止这些事情的发生,但是这需要花费很多时间和精心的计划 – 这些能量可能会花在构建新功能上。这个团队可能还不知道,但他们受到工具的限制。即使没有感觉受到限制,他们可能会意识到,他们没有团队有潜力成为有效或生产力。

版本控制到救援

存在版本控制来解决这些问题,每个开发人员都可以轻松实现。有许多高质量的免费和开源版本控制系统,但是这个课程的重点在Git上。无论您是单独工作还是与团队一起工作,改变您的工作流程可以做的不仅仅是帮助您避免刚刚发现的问题。它也可以提高你的工作的整体质量。

版本控制如何帮助团队发展

术语版本控制广义上包括帮助人们跟踪多个版本的任何系统。这可以包括上面例子中的命名约定,但是它更经常用于描述像Git这样的软件工具。

每个VCS有不同的优点和缺点,但都可以分为中央或分布式两种类型。

A diagram showing Git’s distributed naturel.Git是分布式版本控制系统最流行的例子。分布式版本控制系统为开发人员提供了灵活性和自由度,为开发者本地机器上的所有分支机构(工作线)和提交(历史中的保存点)提供了每个协作者的整个存储库副本。

合作赢取

现代版本控制系统旨在帮助解决团队在协作时遇到的问题。

解决一起工作的问题不仅仅是像Git这样的伟大的VCS,它还要求你退后一步并评估你的方法。打破孤岛,拥抱更多的观点和对话可以使您和您的团队提供更好的软件。有些工具和工作流程旨在提高沟通和整体质量。

进入GitHub – 一个建立在Git之上的协作平台。 GitHub作为一个社区空间,您可以分享您的工作,查看您的团队的工作,完成代码审查,并连接帮助您构建,测试和部署代码的集成。 GitHub是世界上最大的开源项目集合的所在地,越来越多的世界各地的进步组织认识到开放式协作开发的好处。