分支管理章节完善

This commit is contained in:
孟凡兴 2024-03-25 17:11:14 +08:00
parent 90eaabae86
commit e53c1d1a13
8 changed files with 59 additions and 9 deletions

View File

@ -18,9 +18,8 @@
正式环境中存储库不只一个人维护常常出现本地软件版本才V1.0服务器仓库都更新到V1.3的情况。这时候直接推送,会报错
![](./git_push_error.png)
需要先拉取服务器的更改,合并代码,有合并冲突的先解决冲突,然后再提交、推送。
可以在本地存储库右键菜单选择“TortoiseGit”然后选择“拉取”点击确认。
## 克隆
指将远端服务器的存储库下载到本地
指将远端服务器的存储库下载到本地。如果想把别人的存储库下载到本地就用到克隆了。
拿本存储库举例在本地新建一个文件夹进入文件夹右键菜单选择“Git 克隆”,弹出克隆窗口。
![](./git_clone.png)
![](./git_server_clone_url.png)

BIN
Lab3/git_checkout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
Lab3/git_create_fork.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Lab3/git_flow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
Lab3/git_fork_push.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
Lab3/git_tag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,8 +1,59 @@
# 分支管理
前面提交、推送操作都是在“master”分支进行的。针对一个不断迭代的复杂项目如果全部都在“master”上操作版本的结构会乱其他人看不懂哪个提交是稳定的是生产下发版本哪个提交是尚在开发版本。
针对这一问题下面介绍Git flow分支模型大家不一定要严格套这个模型。
模型的分支如下:
- master
- develop
- release
- hotfix
多定制版本维护
- feature/xxx
- hotfix/xxx
- release/xxx
它们的流程图如下:
![](./git_flow.png)
## master
- master主分支代码库应该有一个、且仅有一个主分支主分支存放最稳定的程序版本
- 所有用于正式生产下发的版本都应该在master分支上发布
- 不能直接在master分支上修改提交只能从其它分支合并
- 所有在master上的提交应该标记tag
## develop
- develop分支是主开发分支
- 用于合并来自feature分支的程序
- 从该分支创建release分支
- 接收来自release和hotfix分支的优化
## feature
- 用于新功能的开发
- 从develop分支签出
- 开发完后合并到develop
## hotfix
- 用于紧急修复现场出现的bug
- 从master签出
- 完成修复后要双向合并到master和develop
## release
- 用于准备版本发布
- 从develop分支签出
- 等测试组测试通过双向合并到master和develop
## 其他说明
远程仓库应该只存在两个分支一个是master分支存放线上生产环境版本这个分支的代码总是可靠可用的另一个是develop分支这个分支用于日常开发。
hotfix分支、feature分支和release分支都在本地原则上不能推送到远程仓库。这三种分支都属于临时性需要使用完以后应该删除。
develop分支下允许有多个feature分支且尽量避免冲突允许在有feature处在开发中的情况下从develop分支拉取到release分支。
# 分支操作
## 创建分支
在工程目录下右键菜单选择“TortoiseGit”点击“创建分支”。
![](./git_create_fork.png)
输入分支名称。“切换到新分支”可选,后面可以手动切换。点击“确认”新分支便创建成功。
## 切换分支
想要在某个分支上做修改提交,首先要切换到该分支。
在工程目录下右键菜单选择“TortoiseGit”点击“切换/检出”。
![](./git_checkout.png)
选择分支,点击确认。
## 创建标签
master分支提交后要加一个标签用来表示版本号。
在工程目录下右键菜单选择“TortoiseGit”点击“创建标签”。
输入标签名称,选择分支即可。
![](./git_tag.png)
## 分支推送
当某个分支提交的差不多了,就可以推送了。
之前推送的是master分支现在可以选择本地的其他分支。
![](./git_fork_push.png)
值得注意的是“包括标签”选项按照模型master分支需要标记Tag版本号master分支推送时勾选该选项可以将Tag同步到服务器。

View File

@ -12,6 +12,6 @@ http://172.188.24.12:3000/
## 教程内容
0. [Git环境安装](./Lab0/lab0.md)
1. [创建、修改、暂存和提交](./Lab1/lab1.md)
2. [克隆、拉取、推送](./Lab2/Lab2.md)
2. [推送、拉取、克隆](./Lab2/Lab2.md)
3. [分支管理](./Lab3/lab3.md)
4. [进阶coming](./)
4. [](./)