## git
+ 版本控制工具 代码托管工具
+ 团队开发模式
- 按照功能
- 登录注册功能
- 购物车功能
- 公共
- 按照项目
+ svn
## 开发流程 迭代式开发
+ 开发功能A,生成一个版本 上线
+ 开发功能B,生成一个版本 上线
+ 开发功能C,生成一个版本 上线
## 使用流程
## 本地仓库
1. 生成一个本地文件夹
+ 到项目文件夹下面 `git init`
- 在项目目录下生成一个隐藏的文件.git git配置文件
- 在项目目录下面生成了三个分区
+ 工作区
+ 缓存区
+ 历史版本区
+ 工作区: 写代码的文件
+ 缓存区: 中间过渡区域
+ 历史版本区: 将我们项目的代码生成一个版本
+ 将工作区的文件添加历史区 生成一个版本记录,有了这个记录我们代码就可以随时找回,随时切换版本,但是我们不能够直接将工作区里面的文件添加历史区,要先把工作区文件(源文件)添加缓存区,在由缓存区添加历史区
2. 工作区代码添加到缓存区
+ 查看缓存区文件状态 `git status`
+ git add 文件名.后缀名 添加单个文件到缓存区
+ git add 文件夹/ 添加单个文件夹到缓存区
+ git add . 将整个工作区里面的文件都添加缓存区
+ 空文件夹不会被添加缓存区 如果需要添加空文件夹,需要一个占位文件 .gitkeep
+ 如果不需要把某些文件添加到缓存区 .gitignore
3. 取回缓存区文件到工作区
+ git rm --cache 文件名.后缀名
+ git rm --cache -r 文件夹/
+ git rm --cache -r .
4. 将缓存区文件添加到历史区,生成一个版本
+ git commit -m "注释内容"
+ git config --global user.email "you@example.com" 配置邮箱
+ git config --global user.name "Your Name" 配置用户
+ git log 查看本地版本信息
```
commit ac06a7d2db24a54dcfa51ebf96e5e00d78bb3366 (HEAD -> master) 版本号
Author: daniel <1129601579@qq.com>
Date: Sat Jul 31 17:11:33 2021 +0800
第一次提交,版本1
```
+ 回退版本
- git reset --hard 版本号
## 线上仓库
- 一般可以是第三方开源仓库 github gitee(码云) coding(码市)
- 公司内部的服务器
- 线上服务器地址 https://gitee.com/crim-hu/hf_2104.git
- 关联本地仓库和线上仓库
+ git remote add origin 线上地址
- 将本地仓库代码提交到线上仓库
+ git push origin master
## 第一天上班流程
+ 要求给代码仓库地址 https://gitee.com/crim-hu/hf_2104.git
- 第一次项目已经有了,把线上仓库拉取到本地
+ git clone https://gitee.com/crim-hu/hf_2104.git
- 有时克隆失败,没有权限 auth fail
- 找项目经理 负责人要求开通权限
## 提交代码 推送 上传
+ git push origin master
## 更新代码 拉取 下拉
+ git pull origin master
## 分支