论智
首发于论智
三个简单规则,助你养成Git和GitHub好习惯

三个简单规则,助你养成Git和GitHub好习惯

作者:Ariel Camus

编译:Bot

编者按:作为数据科学家,Git和GitHub想必是大家再熟悉不过的东西。其中,Git是现在最好用的版本控制软件,GitHub是基于Git的代码托管库。面对这样使用广泛的工具,学习自然是个无止境的过程,但新手该怎么从一开始就养成好习惯呢?对于这个问题,Microverse的创始人Ariel Camus有话说。

本文不会涉及如何创建GitHub配置文件和如何在本地推送Git这类具体问题,相反地,首先我们会解释为什么用好Git和GitHub非常重要,然后再介绍三个简单规则,只要养成习惯,你就能从中受益无穷。

为什么Git和GitHub如此重要?

如果你刚开始学计算机,那么之后你的目标可能就是积累知识,毕业后获得一份对口工作,比如软件工程师、数据科学家等。在这种情况下。答案很简单——

学习怎么用Git和GitHub很重要,因为你工作后会频繁用到它们的概率几乎是99%,它们已经成为所有科技公司的标配。所以,如果你想从初级开发人员脱颖而出,你最好在Git和GitHub上多用点心。

高级开发人员的“高级”之处不是他们对编程语言的语法有什么更高深的理解,而是他们在实际复杂大型项目上有更多经验。

而如果只是个刚入行的新人,你是很难获得这种体验的。经验来源于生活,来源于实践。Git和GitHub正是你从实际项目中积累实际经验的一种好途径。

话说到这里,可能你已经认同这些工具对找工作的裨益,那么剩下的问题就是:为什么Git和GitHub对公司也那么重要?

简而言之,Git这个工具允许团队成员以异步的方式高效、有效地为同一个项目提交开发代码。人与人之间能更好地协作,团队能解决的问题自然也更大更复杂。这是一个分布式版本控制系统,它提供还原更改、创建代码分支、解决代码合并冲突等机制——这些都是非常有用的功能,可以帮助解决团队每天都会遇到的常见问题。

而对于这些问题,Git是当前最好的解决方案。

另一方面,GitHub是通过Git进行版本控制的软件源代码托管服务,它为各类特定问题、常见问题提供解决方案,例如Code Review、pull reqeust、问题管理/bug跟踪等。

说明:即便Git是大多数公司的首选版本控制工具,GitHub还是有一些强大的竞品的,如GitLab和Bitbucket。事实上,之前GitHub被微软收购时,已经有少数开发者把自己的代码库迁移了出去,但现在GitHub还是主流。如果你已经熟练掌握怎么用GitHub,你会发现自己用GitLab和Bitbucket也不会觉得手生。

Git和GitHub实践建议:三个简单规则

因为我个人是Microverse的创始人,所以这里简单提一下我的教学经验。Microverse是一个面向软件工程师的远程培训学校,在给学生上课时,我们不仅会教他们如何写代码,也会提供大量指导和规划,以便他们把课上学到的东西用于实践。

我们要求学生做的第一件事是遵循以下三个简单规则,成为Git和GitHub的专业使用者。但在具体展开前,请先问自己以下两个问题:

  1. 你熟悉Git和GitHub吗?如果不,HubSpot上有一个值得阅读的教程
  2. 您知道GitHub Flow是什么吗?如果不,先去GitHub阅读官方介绍

接下来就是这一节的重点:三个规则。

  • 规则一:为每个新项目创建一个Git存储库。
  • 规则二:为每个新功能创建一个新分支。
  • 规则三:用pull reqeust把代码合并到Master分支。

规则一:为每个新项目创建一个Git存储库

第一条规则很简单,但养成这个习惯不容易。每当你开始做一个新项目——投资组合、学习项目、竞赛解决方案等——你就应该新开一个Git存储库,然后把它上传GitHub。

一个专用的repo是为你编写的每一行代码使用版本控制的第一步,而版本控制是各大公司处理实际项目的工作方式。因此今早学会这一点并养成习惯,会对你日后发展带去帮助。

规则二:为每个新功能创建一个新分支

假设你正在开发一个投资组合项目(比如股票债券投资组合),而且想构建一个“联系我们”的组件,那么你应该为这个新功能构建一个专用分支,并给他一个直观有意义的名字(比如contact-me-section),然后把所有和这个组件有关的代码都存到里面去。

如果你不知道什么叫分支,可以去看之前推荐阅读的GitHub Flow。

通过分支,你就能和其他团队成员并行处理不同功能,同时保持每个功能的特定代码和其他功能的隔离。这种方法有助于筛查不稳定代码,确保合并代码的高效。

即便团队里就你一个人,养成这种习惯也有助于你理顺思路,同时在日后的工作中建立起优势。

规则三:用pull reqeust把代码合并到Master分支

默认情况下,在数据库进行最初的提交后,Git会创建一个名为master的分支。但是,你绝对不应该直接把更改内容添加进去。相反地,你应该用上上面提到的功能分支,然后打开一个新的pull reqeust,把功能分支代码和主分支代码合并。

在实际工作中,有些人可能会在你不知情的情况下查看你的pull reqeust,并进行代码审查。同时,GitHub自己也会对你的代码做自动化测试,然后向你提交bug提醒。也就是说,如果你的代码和主分支代码之间存在冲突,它会报错,而且这个错不一定是你造成的,团队中其他开发人员提交的更改也会通知你。

只有在确保自己的代码已经经过审核、测试和批准的情况下,你才能合并pull reqeust,或者负责审核的人会直接代劳。

如果这个项目只有你一个人,那你也要习惯于这么做,因为这几乎是每个开源项目的基本工作流程。如果你参与过其他人的项目,那么践行这三个规则也有助于你明确自己的贡献。

也许看完上述内容后,你还有些困惑,但是现在你就可以开始慢慢牢记并养成这三个习惯。不要想着自己该“如何”这么做,如果你能始终专注于“做什么”和“为什么”,你会发现整个过程会变得无比简单和自然。

文章被以下专栏收录

    专注于人工智能新技术、新应用 【公众号:论智 (jqr_AI) 】