昨天活动没来的可以看这儿:搞了件大事!!!
例行每周末会给我们知识星球的小伙伴直播分享,前天分享的主题是《Git版本控制及应用案例》,不想看基础的可以拉到最后看案例,视频已上传钉钉。后台发送509 获取思维导图。
主要内容分享:
- 版本控制是什么?
- 常见代码仓库对比
- 如何使用Git版本控制
- 几个关于Git的高效案例
版本控制是什么?
按照*解释:
版本控制是维护工程蓝图的标准做法,能追踪工程从诞生一直到定案的过程。也是一种软件工程技巧,借此能在软件开发的过程中,确保不同人编辑的同一程序文件得到同步。
简单来说:软件开发者利用版本控制来跟踪,源码,文件等改动,让我们更高效率工作。
版本控制分为集中式版本控制和分布式版本控制。
集中式版本控制
:就是代码放在*服务器,你要修改必须把代码取下来,然后推送到*服务器,由于受限*服务器,每次操作相对麻烦,且不安全。我知道的目前SVN企业用的很多,一些产品设计师同步内容也会用到。
分布式版本控制
:没有*服务器概念,每个电脑用户都有一个完整项目库,这样A,B用户修改了内容相互同步给一方或者多方即可。
主要以Git为代表,使用最多最广泛,Git是我的偶像Linux操作系统的创始人Linus Torvalds 创建。
据说他当初就是因为使用集中式版本控制不爽,但又要管理linux内核的源码,最后开发了Git。(不得不说大神就是大神)
常见仓库对比
日常用的比较多的:
国外:Github 、 Bitbucket 、 GitLab
国内:Gitee、Gogs
这里面Github自从被微软收购,开放了免费私有仓库托管,可以3人以内,我觉得其他的仓库优势就少了很多了,再加上庞大用户规模导致现在除了企业人多自建仓库需要用其他Gitlab,其他就没有必要了。
当然Gitlab对应很多小企业自建仓库来说太重了一些,很多功能基本上用不到,可以用Gogs进行,目前我觉得最简单的自建仓库系统。
如何使用Git版本控制
常见的命令:
git init # 在当前目录新建Git代码库
git clone xxx.github.com # 下载项目比如从github
git remote add origin xx.gihub.com # 添加github远程仓库命名 origin
git config --global user.name/user.email 'yourname'/ 'youremail' # 配置项目用户信息
git add 'yourfile' # 添加文件进行跟踪
git commit -m 'yourmessage' # 提交到仓库
git checkout -b branch-nameA # 新建分支切换到A
git merge branch-nameA # 合并分支A到当前分支
git push origin dev # 把本地内容推送到远程分支
其他类似tag,stash,cherry-pick,reset我觉得前期不用深入,后期再完善。
我在直播视频里面完整的演示过一遍,喜欢的读者可以去看。
另外就是推荐progit这本电子书,我觉得讲的最好的git教程了,没有之一(看前面三章足够),市面上也看过一些感觉都或多或少有些瑕疵。
应用案例
案例1:个人博客
关于Git的应用案例,我想大多数小伙伴都知道,比如我们早期用的
Git+Github+Markdown+Jekyll
通过md文件写作,git进行管理推送到github仓库然后jekyll生成静态博客,通过github pages 展示可以说13年那会儿非常火,现在也可以试试。
上面jeklly是ruby开发,我们可以现在博客也可以用node开发的git + hexo+ markdown
方式,也可以自定义域名,非常简单方便。
如果我们做前端开发的同学,可以通过修改css,让自己简历通过github pages完美展示,即是作品也是简历。
总是玩法多多!
案例2:写专栏、写书
除了个人博客,我们还可以利用git和gitbook
来进行写专栏,写书籍。
我在以前公司给团队分享Python技术知识点的时候就是通过gitbook进行写成系列整合分享的。
目前很多不错的技术专栏都是放在gitbook上面,大家可以尝试下。
通过git和markdown,我们写作的内容还可以通过pandoc进行转化为word,这让我们写论文
再也不用保存几十个版本的word文档了,只需要通过一个命令行就能解决,具体玩法期待我下期分享吧。
直播视频已经上传到我们钉钉直播群,大家去钉钉群看即可!后台发送509获取思维导图。
另外昨天我搞了一个星球活动,想来的趁早,总共200张,昨天发出去100多张,目前优惠券不多了,本周截至。