从Git最佳实践中获得的思考

搞计算机开发的,应该都知道Git是个非常好用的代码管理工具。在这篇文章中,我并不是想去阐述其技术有多么优秀,这个在网上随便搜索一下,就能找到一大片,而且其官网上还有一本详尽的书籍进行说明。这篇只是说说我在看完Git分支最佳实践之后以及习得其技能后的一些感受。

在用Git作为代码管理器之前,由于是用Visual Studio进行项目开发,用到的工具是tfs。后来开始用Java写程序,代码管理器也就变成Git。当时就想着写项目,在了解Git的基本使用之后,就没有管它到底有多优秀,基本就和用tfs差不多(签入、签出与合并)。在这个过程中,就已经看到过Git最佳实践,花了点时间看,但是并没有深入研究,也就知道个概念好像是说Git很厉害的样子,然后这么好的东西就沉底不见了。

直到前段时间我需要为产品进行迭代开发时,想着如果进行一个版本的功能开发,第一版本有个紧急Bug需要修复,该如何弄?此时,脑中想起之前看过的Git分支最佳实践,我又再次把它翻出来看一遍,并仔细从头到尾理解一遍,问自己为什么需要这个分支,不要这个分支可不可行,什么时候应该使用这些分支等等问题。虽然,博客中都写的比较清楚,但是如果自己没有好好的理解的话,可能在执行的过程中就容易迷惑,也容易出错。等我把我自己的问题答案找到后,并在自己脑中想了多个场景,看看应该如何建分支之后,发现一切都浮出水面。按着这个博客进行实践真的可行,后来我在自己的项目中并实践一段时间过后,发现真的很好用。

当时理解完,和其他同事进行分享,也能够很把问题讲清楚同时解答一些不理解的地方。简单的理解可以注意以下几点:

  • master与develop分支是永久存在的分支,master分支永远是存放稳定版本的代码,develop分支是正在开发功能的分支;

  • release分支是下一个版本需要的分支,hotfix分支是修复bug分支,这两个分支都是有生命周期的,用完就能删除。在这两个分支功能开发完毕后,都需要合并master与develop分支,然后就可以删除。

  • 还有个feature分支,这就是个临时分支,只能存在于本地的一个分支,是用来研究临时性功能的分支。如果这功能最终被采纳,就可以合并到develop分支,否则直接删除就好,接着干之前的活就好。

这只是个粗略的描述,并不详尽,具体的可以参考这个网址Git分支最佳实践,它有详细介绍。在我敲出这些描述的时候,脑子中已经清晰的走了好几回这个实践,不得不说真的很好用。

===========================================

那我从中获得了什么思考呢?

对于一个知识点,不要看看就告诉自己,我又Get一个新技能,然后就去获取下一个技能。否则就容易出现白岩松在《白说》书中提到的:以为看过了,其实是错过的情况。我很庆幸,这么好的一个实践,我看过了,还真的获得了。

所以说,如果在看到一个新技能,如果觉得有必要,就要尽自己最大的努力去理解,多问一些问题帮助自己理解直到自己真的能够理解为止。这不仅能够使得自己真正掌握一个技能,还能够帮助自己节约不少时间的(想想,如果今天看了没理解,等要用的时候是不是又得从来一遍呢?)。