GIT与SVN
1. 版本控制系统:
1、代码管理(提供一个仓库备份代码)
2、版本控制(记录历史版本信息,记录每一条修改的记录)
3、方便团队相互之间的协作开发
2. 常用的版本控制系统:
cvs/svn:集中式版本控制系统
git:分布式版本控制系统
SVN:

git:

Git的基本概念
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
下图就是分布式版本控制工具管理方式:

仓库(版本库):相当于一个专门用来存放代码的目录。这个目录里面的所有文件都可以Git管理,每个文件的增删改查都能被Git跟踪到
Git的结构

git工作流程
一般工作流程如下:
1.从远程仓库中克隆 Git 资源作为本地仓库。
2.从本地仓库中checkout代码然后进行代码修改。
3.在提交前先将代码提交到暂存区。
4.提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。
5.在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。
下图展示了 Git 的工作流程:

指令详解
1、Git的全局配置
第一次安装完成git后,我们在全局环境下配置基本信息:
$ git config -l //查看配置信息
$ git config --global -l //查看全局信息
//配置全局信息:用户名,邮箱
$ git config --global user.name "你的用户名" //设置用户名
$ git config --global user.email "你的邮箱" //你的邮箱
2、创建仓库完成版本控制
//可以在当前文件夹中鼠标右键直接访问Git Bash Here,这样进入的目录默认就是当前文件夹。比如,在桌面访问Git Bash Here,默认的目录就是~/Desktop
//若是从别的文件夹键入,后想更换默认文件夹,需要使用cd命令
d: //进入d盘
cd 指定文件夹 //进入当前目录(这里是d盘)的指定文件夹
//创建本地仓库
$ git init //会生成一个隐藏文件夹“.git”(这个文件夹不能删,暂存区和历史区等都在这里,删了就不是一个完整的仓库)
//在本地编写完成代码后(在工作区),把一些文件提交给暂存区
$ git add 文件名 //把某一个文件或者文件夹提交到暂存区
$ git add 文件名1 文件名2 文件名3 //把多个文件提交到暂存区
$ git add .或者 -A //添加当前仓库下的所有文件到暂存区,注意有空格在.前面
$ git status //查看当前文件的状态(红色代表文件在工作区,绿色代表在暂存区,看不见东西代表所有修改的信息都已经提交到历史区)
//把暂存区的内容提交到历史区
$ git commit -m'描述信息:本次提交内容的一个描述' //将暂存区的所有内容提交到历史区
//查看历史版本信息
$ git log //查看历史版本信息
$ git reflog //查看历史版本信息(包含历史记录的回滚信息)
3、把本地仓库信息提交到远程仓库
建立本地仓库与远程仓库的连接
从远程仓库中拉取文件
把本地代码提交到远程仓库
//查看本地仓库与哪些远程仓库保持连接
$ git remote -v
//让本地仓库与远程仓库新建一个连接。origin是随便起的一个链接名(可以改成自己想要的,只不过一般都用这个名字)
//这个链接信息是放在git里的
$ git remote add origin [GIT仓库地址]
//删除关联信息
$ git remote rm origin
//提交之前最好先拉取
$ git pull origin master
//把本地代码提交到远程仓库(第一次提交需要输入github的用户名、密码)
$ git push origin master
4、开发流程
真实项目开发流程
1、组长或者负责人先创建中央仓库(增加协作者)
2、小组成员基于 $ git clone 把远程仓库及默认的内容克隆到本地一份
第2步解决了三个事:初始化一个本地仓库 $ git init ;对应的远程仓库保持了关联 $ git remote add ;把远程仓库默认内容拉取到本地 $ git pull
3、每个组员写完自己的代码后,基于 $ git add 和 $git commit 把自己修改的内容存放到历史区,然后通过 $ git pull 和 $ git push 把本地信息和远程仓库保持信息同步
$ git clone [GIT仓库地址] [别名:可以不设置,默认是仓库名]
GIT指令的使用原理

Github线上仓库结构

参考文献
2019年最新 Git&GitHub 从入门到精通视频教程 www.bilibili.com/video/av629…
入坑git,只要记住这5个指令 | 如何使用git进行代码管理 www.bilibili.com/video/av873…
Linux都应用在哪些领域?发展如何? blog.csdn.net/Oldpython/a…
Windows10下安装Git(博客) blog.csdn.net/qq_32786873…
视频安装Git www.bilibili.com/video/av629…