GIT是一个分布式的版本控制工具
集中式版本管理工具
开发者之间的合作方式是共用一个仓库(repository),无论这个仓库是在本地还是在远端,只要是所有成员都共同存取同一个仓库,那么这种方式就是集中式(centralized)版本控制。
开发者需要提交或者是查看代码更新记录都需要一个联网的环境
缺点:代码集中于SVN服务器上,一旦发生问题,很难挽回
优点:代码集中于SVN服务器上,不会发生个别新手污染代码的情况
分布式版本控制
每个客户端就是都是一个服务器,都有一个版本库,开发者可以在无网络的环境中进行代码的操作。
Git的原理:
工作区,暂存区,仓库区
- 工作区:对于文件的添加,修改,删除
- 暂存区:将工作区的操作完成小阶段的存储,是版本库的一部分
- 仓库区:表示个人开发的小阶段完成,记录的各种版本都是可以查看回退的

基本操作
1. 初始化一个git目录
创建一个目录
进入目录
执行 git init
2. 配置个人信息
#####配置的是一个局部的身份 git config user.name 'strw' 设置用户名 git config user.email 'str_wjp126.com' 设置用户邮箱 #####配置全局身份 git config --global user.name 'zhangsan' git config --global user.email 'zhangsan@126.com' #####优先级:就近原则,有局部使用局部,没有局部使用全局,二者不可以都没有
3.操作
#####创建文件 touch 1.py #####编辑文件 vi 1.py #####查看文件的一个状态 git status

文件在工作区当中 #####将修改的文件提交到暂存区 git add 1.py

#####提交到仓库去 git commit 1.py 会弹出一个编辑页,可以编辑版本注释信息 或者 git commit -m “描述信息” 文件名/ * #####查看提交版本信息 - git log 不能查看被删除的commit记录 - git reflog(推荐使用)可以查看所有分支的所有操作记录。包含commit提交的和reset操作,已经删除的commit记录 #####查看版本差异 git giff 两个版本号
4. 回退
- 回退版本 指回退仓库区的代码
git reset --hard 版本号 - 工作区代码回退
- git checkout 文件名
- 回退暂存区代码
- git reset HEAD 1.py 将暂存区代码插销到工作区
- git checkout 1.py 撤销工作区代码
- 回退指定文件
- git reset 版本号 1.py 回退1.py文件到指定版本
- git checkout 1.py
- git commit -am '回退了1.py版本'
5. 分支
git init 之后创建了一个 master 分支 git branch 查看分支 git branch dev 创建一个dev分支 git branch -d dev 删除指定分支 git checkout 分支名 git merge test 主分支合并其他分支代码