峰哥博客

首页 » UC编辑部奇闻 » 什么?身为程序员你还不会Git,我来给你讲解一下好处

什么?身为程序员你还不会Git,我来给你讲解一下好处

Git是现代程序员必备技能,这是无疑的!

为什么这么说了呢?很多人以为Git就是一个版本管理,用以替代传统的SVN的用来版本管理的,世界上不止于此。

SVN和Git对比

首先,相比较SVN,Git天然分布式不怕变化丢失。每一个Git仓库,除了远程库,本地都必然会有一份,确保代码永远不会丢失。
其次,相比较SVN,Git不以文件为中心,使用文件快照及其哈希构成的Git对象数据库和head指针,分支指针,标签指针构成的变化指针链。所以各种操作都是很快捷高效,比如拉个分支就是新建一个指针,指向某个commit,标签也是。这对比SVN的中文件目录分支管理性能提高了不止百倍,空间也能大量节省。
上面一部分说了Git不以文件为中心。实际上在Git服务端(远程仓),除了git文件下的各种对象数据,没有任何文件(裸Git仓)。而在本地,则分为工作区(目前的文件和目录状态)、缓存区(又叫stage区,git add后保存的变化)和历史记录区(git commit后的归档数据)加上远程仓库,共计四区五种状态(文件状态:为修改、已修改、已暂存,已经提交,已经推送)

这些层次设计和文件状态,可以最大程度保存你对代码的每一行变化,保证不会由于某种因素丢代码。另外Git还提供了额外的 git stash来保存你当前的工作状态。对程序员来说代码就是生成力,每一行代码都是勤劳的结晶,都是智力碰撞下产生的精灵!如果是一个文档丢了,你很懊恼;如果你的代码丢了,重写可能就完全没有灵感了。而Git的机制可以保障你的代码不会丢失,这SVN和其他版本管理软件不能给你保证。

Git生产力工具

还有很多非常适配开发者的工具,比如git blame,git bisect,git-cherry-pick包括前面提到git stash等等,可以极大的提高程序员的效率。跟多这些用法,可以关注虫虫,参考虫虫的git相关文章。

社交化和多人协作

基于Fork和PR/MR的社交会项目协作流程,极大促进了开源项目和Git发展,也状大了Github、Gitlab、国产的码云等Git托管服务网站。大量开源项目通过这些平台发布,大量的开发者通过他们参与到项目中。比如996的项目一天就内就达到好几万的Star和大量Fork ,大量PR,这些就是Git和开源协作的力量!目前该项目的数据:

基于Git的CI/CD和DevOps

通过Github webhook 以及Gitlab runner把开发环境和上产环境一栈式关联起来实现:代码码Push,自动Build、自动Test、安全扫描、自动发布的一栈式DevOps流程。释放了开发人员在这些流程上耗费的时间和精力从而专注于Coding,真正实现实现XP开发迭代。j结合云和容器的技术的发展,也纳入了这个开发和实施的环节,实现配置即服务。程序员要做只是写代码,其他事情push给Git,Git自动触发即可。

最后,我自己是一名从事了5年前端的老程序员,辞职目前在做讲师,今年年初我花了一个月整理了一份最适合2020年学习的web前端干货,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。

加微信:abb436574 (领取)



【推荐】妈妈我想买广告位,买,买一个够吗?,够了谢谢妈妈,妈妈真好!

文章如无特别注明均为原创! 作者: F_Robot, 转载或复制请以 超链接形式 并注明出处 峰哥博客
原文地址《 什么?身为程序员你还不会Git,我来给你讲解一下好处》发布于2020-2-23
若您发现软件中包含弹窗广告等还请第一时间留言反馈!

分享到:
打赏&捐助 分享到QQ空间

评论

游客

  • 看不清楚?点图切换
切换注册/找回用户名密码

登录

Tips:2023-04-20于系统原因部分账号将被删除,届时请重新注册!

切换登录

注册