本文操作环境:Windows7系统、Git2.30.0版、Dell G3电脑。 什么是git bash? Git Bash是一个适用于Microsoft Windows环境的应用程序,它为Git命令行体验提供了一个仿真层。相当于在window上通过git bash这个模拟的Unix命令行的终端出来,然后在这个终端里面做git相关的版本控制。简单来说就是Windows下的命令行工具。 GIT (分布式版本控制系统) Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper 。 特点 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。 如图1所示是经典的git开发过程。 Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在自己的机器上根据不同的开发目的,创建分支,修改代码。 3、在单机上自己创建的分支上提交代码。 4、在单机上合并分支。 5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。 6、生成补丁(patch),把补丁发送给主开发者。 7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。 8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能: 1、查看邮件或者通过其它方式查看一般开发者的提交状态。 2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。 3、向公共服务器提交结果,然后通知所有开发人员。 优点: 适合分布式开发,强调个体。 公共服务器压力和数据量都不会太大。 速度快、灵活。 任意两个开发者之间可以很容易的解决冲突。 离线工作。 缺点: 资料少(起码中文资料很少)。 学习周期相对而言比较长。 不符合常规思维。 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。 推荐学习:《Git教程》 |