1. 🏷标签颜色
黄色代表:HEAD
绿色代表:是你的本地分支
紫色代表:远程分支
如果你看到一个标志是黄绿紫,,表示当前HEAD和你远程还有你本地都有这个分支,黄色只是表示HEAD的位置。
如果你看到一个提交只有紫色分支,表示你本地没有这个分支。
如果你看到一个是绿色和紫色,表示这个提交是远程分支并且你本地也有这个分支。
如果你看到一个提交只有绿色,表示这只是你本地的分支提交。
2. 切换版本-CheckOutRevision
绿色:代表在哪个分支
黄色:代表当前在哪个分支
CheckOutRevision
选择需要切换的分支,选择需要切换的版本
3. 创建分支-New Branch
git branch 分支名
-- 创建并且切换分支
git checkout -b branchname
4. 切换分支
git checkout 分支
5. 合并分支-Merge into Current
6. 回滚
- soft(个人建议这种,保存工作区代码,同时保留暂存区)
- 移动本地库HEAD指针,撤回之后所有内容全部放进暂存区
- 回滚后,仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。而你上次改动已提交committed到本地库的代码显示是绿色即未提交
- Mixed (默认 — ):
- 移动本地库HEAD指针,重置暂存区(回到add文件之前的状态),撤回之后所有内容全部放进工作区中
- 意思就是,回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,意思就是你上次添加到暂存区的文件没了
- Keep(谨慎操作)
- 移动本地库HEAD指针,暂存区不变,重置工作区
- 意思就是,回滚后,本地代码就是你回退版本的代码,而暂存区是没有做任何改变的。
Hard(谨慎操作)
工作空间
- 是写代码的地方,可以理解成工作区。
- 暂存区
- git add会将其加入到暂存区。
- 本地仓库
- git commit会将暂存的数据放到本地仓库
- 远程仓库
— 查看存储列表 git stash list
— 将存储恢复到当前分支 git stash pop
**IDEA 执行存储**<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/12426545/1655535831546-3951f825-b452-437d-a4a1-792436ac69fb.png#clientId=u234aed39-601d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=843&id=u35715ac0&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1685&originWidth=1368&originalType=binary&ratio=1&rotation=0&showTitle=false&size=229807&status=done&style=none&taskId=ud553e180-ceb6-45b3-a777-8547b02b6ed&title=&width=684)<br />**IDEA 恢复存储**<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/12426545/1655535865678-32dc35b5-1c6f-4901-a266-4feda46b79f8.png#clientId=u234aed39-601d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=774&id=ud1059d67&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1548&originWidth=1567&originalType=binary&ratio=1&rotation=0&showTitle=false&size=220767&status=done&style=none&taskId=u1e4a3189-a991-47e0-ab83-22ab28a8e0f&title=&width=783.5)<br />选中需要恢复的存储<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/12426545/1655535915425-fc2d01b5-238b-4a0b-be3b-0ee62687dddf.png#clientId=u234aed39-601d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=404&id=u361a9e12&margin=%5Bobject%20Object%5D&name=image.png&originHeight=808&originWidth=1121&originalType=binary&ratio=1&rotation=0&showTitle=false&size=49538&status=done&style=none&taskId=u82ff24cb-7e91-4c2e-9c48-d58224b5ba5&title=&width=560.5)
- Pop stash 恢复存储,并将存储区的记录删除
- Reinstate index 恢复存储,但不将存储区记录删除
<a name="rMhc7"></a>
# 9. cherry-pick
**场景:**想把某个分支的某个提交记录,给移到当前分支,就可以使用这个
```git
git cherry-pick 版本号