1.Git是用来做什么的?
git就是一款版本控制软件,主要面向代码的管理。你可以理解为Git是一个代码的备份器,给你的每一次修改后的代码做个备份,防止丢失,这个是git最基本的功能。
其次,git不止备份,当你需要比对多个备份的区别时,git会给出不同备份间的区别,帮你管理好版本。
2.为什么要选择Git?
在软件开发过程中,协同开发以及版本迭代更新是再正常不过的事情了。但是能够完整、便捷的将版本进行管理确是不太容易的一件事情。
就好比,一个项目,我们开发了第一版、第二版、第三版、打死不改版、绝对不改版、终极版、终极不修改版以至于再改就砸电脑版,最终敲定的方案是第一版。这种情况下,改到最后已经看不出当初的模样了。所以,我们需要将每一次的修改记录并保存下来,以便于为后面的版本溯源。
凡事都是有两面性的,作为版本保存和记录的软件系统也是一样的。所以就诞生了两种不同的管理模式,一种是叫集中式版本控制系统(例如CVS及SVN),另一种则是分布式版本控制系统(例如Git)。
2.1分布式版本控制工具
分布式版本控制系统,例如git,重点在于分布。分布的含义不是说每台计算机上只留有版本库的一部分。恰恰相反,分布的含义是每台计算机上都还有一个完整的版本库。所有版本信息仓库全部同步到本地的每个用户, 这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据。
2.2集中式版本控制工具
集中式版本控制系统诸如CVS,SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新
3.如何使用Git?
3.1了解本地库,暂存区,本地仓库,远程仓库

3.2git的常用命令

3.3分支
基本概念
在版本控制的过程中,推进多个任务,为每个任务就可以创建每个任务的单独分支,使用分支可以使得程序员把自己的工作从开发主线上分离开来。开发自己的分支的时候,不会影响主线分支的运行,对于初学者来水,可以理解为分支就是副本,一个分支也就是一个单独的副本,分支底层也是指针的引用
常用命令

合并分支的时候发生冲突
冲突的原因

合并分支的时候就会发现

如何解决冲突?
1.打开有冲突的文件

比较当前分支和传入分支的区别,进行修改,解决冲突

再添加到暂存区,提交更改

3.4git团队的协作流程
1.连接远程仓库的一些基本的命令

2.流程图大致如下

总之,git这部分需要勤加练习,实践出真知