# my-gitlab-springboot
笔记  
[Git笔记](https://git.yfzx.zjtys.com.cn/mry1006/my-gitlab-springboot)
(https://git.yfzx.zjtys.com.cn/mry1006/my-gitlab-springboot)
********
## 为什么要使用Git
__首先Git的核心: HEAD指针，分支__  
 - 免费开源的分布式版本控制系统
 - 具有廉价的本地库
 - 方便的暂存区
 - 多工作流分支
 - 性能优于其他
*******
## Git的工作机制
1. ___工作区:___
    - _代码存放磁盘的目录位置_
2. ___暂存区:___
    - _临时存储，将工作区的代码添加到暂存区_
3. ___本地库:___
    - _将暂存区的代码提交到本地库，就会生成对应的历史版本，一般情况下删除不掉_
*********
## GitLab版本控制
1. ### GitLab流程图
![图片](image/1.png)
2. ### GitLab版本回退
![图片](image/0.png)
**********
### GitLab远程仓库创建流程
1. #### GitLab远程仓库创建
![图片](image/2.png)
2. #### GitLab远程仓库创建说明
![图片](image/3.png)
3. #### 复制SSH，或者HTTPS地址，一会会用到
![图片](image/5.png)
4. #### IDEA中将项目交给Git管理
![图片](image/6.png)
5. #### 选择相应的文件目录
![图片](image/7.png)
6. #### 可以看到文件名变成了红色，这表示文件未添加到暂存区
![图片](image/8.png)
7. #### 由于项目中的很多文件是IDEA自动生成的，所以不需要上传所有的文件，可以安装.gitignore插件，选择哪些文件不上传
![图片](image/9.png)
8. #### 这里已经准备好了一些选项，可以直接选择编程语言中的JAVA
![图片](image/10.png)
9. #### add将文件添加到暂存区
![图片](image/11.png)
10. #### commit将文件添加到工作区
![图片](image/12.png)
11. #### push将文件上传到远程仓库
![图片](image/13.png)
12. #### 选择上传的分支，并且给远程地址起一个名字，这时将之前复制的SSH地址或者HTTPS地址粘贴过来
![图片](image/14.png)
13. #### push上传到远程仓库
![图片](image/15.png)
14. #### 如图所示则表示上传成功
![图片](image/16.png)
15. #### 当远程仓库已经.md文件存在时，会发生上传合并冲突，这时创建分支上传即可,如图所示则是上传失败
![图片](image/17.png)
16. #### 点击master选择New Branch创建新的分支
![图片](image/18.png)
17. #### 给分支命名
![图片](image/19.png)
18. #### 下边的名称从master变成了dog，表示当前在dog分支中
![图片](image/20.png)
19. #### 这时左上角显示为上传到dog远程分支上
![图片](image/21.png)
20. #### 上传成功
![图片](image/22.png)
21. #### 这时可以看到远程仓库有两个分支，当前在master分支中
![图片](image/23.png)
22. #### 创建合并请求，将master分支与dog分支合并
![图片](image/24.png)
23. #### 合并分支
![图片](image/25.png)
![图片](image/26.png)
24. #### 可以看出，master与dog分支合并成功，将dog分支合并到了主分支master中
![图片](image/27.png)
25. #### 切换会master分支
![图片](image/29.png)
26. #### 将远程仓库合并后的文件pull到IDEA中，可以方便修改.md文件
![图片](image/28.png)
27. #### 显示文件更新成功了，会发现左侧出现了.md文件
![图片](image/30.png)
28. #### README.md文件pull成功
![图片](image/31.png)