### git 相关的名词解析
git/svn 团队的代码管理工具 git是分布式 svn 集中式
git 里包含本地仓库 和远程仓库
GitHub/gitee 一大波远程仓库的集合体
git 远程仓库 团队使用在服务器的仓库
git 本地仓库 本地创建想怎么改就怎么改随便使用
gui 可视化工具 gitDesktop sourceTree conrestone vscode
.git 隐藏文件 表示git的仓库
工作区 可以看到的写代码的地方叫工作区
暂存区 在git的仓库内我们是看不到的,用来暂时保存提交的修改
分支 将用户的提交和修改按照时间形成一条链叫做分支
版本合并
版本冲突
版本提交
版本迭代 项目中的一个名词
### 基本指令
```
git status 查看状态 //查看当前仓库分支的一个基本状态
git init 创建本地仓库 //在本地初始化一个仓库
git add //将工作区的修改提交到暂存区
git commit -m "注释" //将暂存区的修改提交到分支
git log //打印提交记录
git log --pretty=oneline //在一行内打印提交记录
git reflog //打印所有的git操作记录
git branch //查看当前的本地所有分支
git branch -a//查看本地和远程的所有分支
git checkout -b 分支名 //创建并切换一个分支
git checkout 分支名 //切换一个分支
git merge 分支名(dev) //在当前分支合并其他分支(dev) 子分支向母分支合并
git reset --hard +版本回退id 提交id //版本的滚动 只能是被git管理过的
git diff //查看暂存区和工作区的区别
远程的
git clone url //将远程的仓库克隆到本地
git push origin (远程仓库名)master(分支名)
git pull origin分支名(fetch+commit)下来代码并更新
git fetch 拉取代码
git remote add origin url 将本地的仓库和远程的仓库建立连接
git branch -D 分支名 删除本地分支
```
git 分支的概念 来记录你的每一次提交
主分支 第一次创建的仓库
其他分支
合并分支 git merge dev
###冲突
解决冲突的 : 需要的留着 不需要的删除掉 -> 良好的交流
###git仓库 本地仓库 远程仓库
本地仓库和远程仓库都是仓库 该有的都有
本地仓库:本地分支 (本地工作区 本地暂存区)
远程仓库: 远程分支(远程工作区 远程暂存区)
1.远程仓库的创建 gitee github 自己有运维 自己在服务器上搭建远程仓库
a.已经存在一个远程仓库了,通过readme文件自动创建的 也可能是别人创建
git clone +地址 将远程仓库克隆到本地
b.没有远程仓库
1.在本地通过git init 创建一个远程仓库
2. git remote add origin +地址 和远程仓库做关联
就可以执行git push pull等一系列操作
###git的分支
vim 编辑器
###gitflow git工作流
git 的使用流程 更多的是对分支的使用
master 主分支 线上分支 和正在线上运行的代码是一致的
realease 分支 预发布分支 发布前的测试
dev 分支 开发分支
futrue 分支 个人分支
bug 分支 线上代码出现bug的时候来解决bug
###角色
主程
1.和远程仓库做关联
2.搭建项目框架
3.将项目框架上传到远程的dev分支
4.开发结束之后 将dev分支的代码 合并到master(预上线分支)
路人甲 普通开发者
1.clone 代码
2.从dev分支切换出个人分支
3.在个人分支进行修改
4.将个人分支合并到dev分支
5. push dev分支 push之前一定要先更新代码
6.将个人分支删除调重新创建