git的强大

目前比较流行的版本控制工具为svn和git,我所在的公司一直都在使用svn作为版本控制工具,但是git在某些领域的确是要远远强于svn的。这篇博客就来总结一下目前我用到的git的强大的地方。

Unity引擎现在提供了非常强大的Unity Cloud Build,可以省却小团队自己架设打包机器的时间。Unity Cloud Build就可以使用git来作为工程版本控制工具来进行打包。

所以我在和其他小伙伴一起开发协作的时候,会分别建立两个git仓库,其中一个是协同进行开发的版本,另外一个仓库则是用来推送进行打包使用的。这样做的好处就是,我们可以用最快的国内提供的私有git仓库来进行协作,以保证最大的速度。然后打包仓库则是部署在bitbucket上面,保证了unity cloud build的速度的同时,我们确定要打一个最新的版本,只需要向该仓库将目前所有的修改进行推送,然后unity cloud build会自动进行检测,并且开始执行iOS和Android的打包,非常的方便。
整个过程我们只需要依赖git进行两个仓库之间的同步即可,其实只需要一条push到打包仓库的代码指令即可完成上述的事情,非常非常方便。

另外本博客的开发和部署也是使用了git作为版本工具,我在自己的vps服务器上面部署了一个部署git仓库,并且放置了git钩子用来实现提交后的自动部署。之后我还在bitbucket上面建立了一个博客的备份地址,然后我写了一个shell脚本用来自动生成hexo静态博客,提交部署,并且自动备份到bitbucket,只需要一键即可完成,非常非常地方便。如果是使用svn的话会有多麻烦。。

git的分支功能也是异常地强大。之前在开发微光的触摸版本和小米VR版本的时候,就使用了git创建了2个额外的分支。git创建分支的速度是异常快的,远比svn要快很多,而且切换分支的时候也几乎是瞬间完成,这一点也是秒杀了svn,而且工作区异常干净。我可以在这三个分支之间迅速切换,而不需要像svn一样还得将3个分支同时check out下来,真的是非常强大。

工欲善其事,必先利其器。希望以后能够学会git更多更强大的功能。