本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。
前言--Git的简要背景介绍
同⽣活中的许多伟⼤事件⼀样,Git 诞⽣于⼀个极富纷争⼤举创新的年代。Git在版本控制领域处于绝对领先地位,⽬前使⽤Git的项⽬数量也已经超过了使⽤SVN的仓库数。
1:什么是代码托管平台
说到Git,就不得不提一句代码托管平台,好多产品都是相互联结在一起的,这几个是经常用到的:
- Git:是⼀个版本管理⼯具,只在本地使⽤的版本管理⼯具,其作⽤就是可以让你更好的管理你的程序,⽐如你原来提交的内容,后⾯虽然修改过,可以把你原来提交的内容重现出来,这样对于你后来才意识到的⼀些错误进⾏更改,进⾏还原
- GitHub:官⽹github.com/ 是⼀个基于Git的远程代码托管平台,可以在GitHub上建⽴⼀个远程库,可以将本地库的内容提交到远程库,这你的每次提交,别⼈也都可以看到你写的代码,同时别⼈也可以帮你修改代码,这种开源⽅式可以⼤⼤提⾼开发之间的沟通与交流
- 码云:官⽹ gitee.com/ ⼀个类似GitHub的由阿⾥巴巴运营的远程代码托管平台
2:为何要进⾏版本控制
- 由于不可能⼀次开发完毕,所以存在多⼈多个版本,耗费存储空间
- 出现问题,难以回退到以前的历史版本,多⼈开发代码出现冲突
- ⽆法溯源,问题代码的责任⼈,时间,内容等
- 项⽬后期维护的管理
- 权限控制问题,例如 开发⼈员:读写权限,某个模块权限,测试⼈员:只读权限
- 团队在开发时⽆法多条线并⾏推进,效率低
3:版本控制的工具
- 集中式版本控制⼯具:SVN VSS CVS
- 分布式版本控制⼯具: Git Mercurial Bazaar
4:Git的优势所在
- 分布式⼯具,强调个体
- 部署的公共服务器压⼒的数据量都不会太⼤⽀持离线⼯作,不依赖⽹络(SVN⽆法实现)每个⼈有⾃⼰的本地仓库,⼤部分操作在本地库完成
- 分⽀操作⾮常强⼤也是Git的特⾊
- 尽量减少删除和修改操作,⽅便进⾏回退,很多⼯具是没有后悔药的
- 速度快,灵活,⽀持Vim,能⼒⾼效,管理操作类似Linux
5:Git的本地⼯作区域
对于任何⼀个⽂件,对于Git来说,都只可能存放在三种区域:
- ⼯作区:表示⽂件刚刚新增或者被修改,但是没有被提交保存
- 暂存区:表示把已新增或者修改的⽂件,放到下次提交时要保存的清单中
- 本地仓库 :表示⽂件已经被安全的保存在本地仓库了
6:Git的使用场景
(1)团队内部协作开发
1.总监创建本地库
2.总监将本地代码推送到远程库(push)
3.经理克隆(clone)远程库的代码到本地库
4.经理修改代码
5.经理在被允许加⼊团队的前提下推送本地代码到远程库(push)
6.总监拉取远程库中的代码到本地(pull)
(2)远程跨团队协作开发
1.将 总监/远程库 fork(分叉)到技术⼈员/远程库
2.技术⼈员在本地克隆⾃⼰的远程库到本地
3.技术⼈员将修改后的代码推送到⾃⼰的 技术⼈员/远程库
4.向总监发送⼀个 pull request
5.总监审核 pull request 通过
6.总监合并代码到 总监/远程库 (merge)
7.总监和经理可以拉取远程库到本地(pull)
以上这些是对Git一个简单的介绍,很多基本操作还没有加入到其中,后期会对这些基本操作进行一些补充说明。