1. 🏷标签颜色

黄色代表:HEAD
绿色代表:是你的本地分支
紫色代表:远程分支

如果你看到一个标志是黄绿紫,,表示当前HEAD和你远程还有你本地都有这个分支,黄色只是表示HEAD的位置。
如果你看到一个提交只有紫色分支,表示你本地没有这个分支。
如果你看到一个是绿色和紫色,表示这个提交是远程分支并且你本地也有这个分支。
如果你看到一个提交只有绿色,表示这只是你本地的分支提交。

2. 切换版本-CheckOutRevision

image.png
绿色:代表在哪个分支
黄色:代表当前在哪个分支
CheckOutRevision
选择需要切换的分支,选择需要切换的版本
image.png

3. 创建分支-New Branch

  1. git branch 分支名
  2. -- 创建并且切换分支
  3. git checkout -b branchname

基于当前分支创建新的分支
image.png

4. 切换分支

  1. git checkout 分支

点击要切换的分支 CheckOut
image.png

5. 合并分支-Merge into Current

选中要合并的分支,点击Merge into Current
image.png

6. 回滚

  • soft(个人建议这种,保存工作区代码,同时保留暂存区
    • 移动本地库HEAD指针,撤回之后所有内容全部放进暂存区
    • 回滚后,仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。而你上次改动已提交committed到本地库的代码显示是绿色即未提交
  • Mixed (默认 — ):
    • 移动本地库HEAD指针,重置暂存区(回到add文件之前的状态),撤回之后所有内容全部放进工作区中
    • 意思就是,回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,意思就是你上次添加到暂存区的文件没了

  • Keep(谨慎操作)
    • 移动本地库HEAD指针,暂存区不变,重置工作区
    • 意思就是,回滚后,本地代码就是你回退版本的代码,而暂存区是没有做任何改变的。
  • Hard(谨慎操作)

    • 移动本地库HEAD指针,重置暂存区重置工作区
    • 意思就是,回滚后,本地代码就是你回退版本的代码

      7. 工作区、暂存区和本地库

  • 工作空间

    • 是写代码的地方,可以理解成工作区。
  • 暂存区
    • git add会将其加入到暂存区
  • 本地仓库
    • git commit会将暂存的数据放到本地仓库
  • 远程仓库
    • git push将本地仓库的数据推送到远程仓库。

      8. 存储-stash

      ```git — 存储 git stash save “存储标识”

— 查看存储列表 git stash list

— 将存储恢复到当前分支 git stash pop

  1. **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)
  2. - Pop stash 恢复存储,并将存储区的记录删除
  3. - Reinstate index 恢复存储,但不将存储区记录删除
  4. <a name="rMhc7"></a>
  5. # 9. cherry-pick
  6. **场景:**想把某个分支的某个提交记录,给移到当前分支,就可以使用这个
  7. ```git
  8. git cherry-pick 版本号