2107.Git版本管理指南
- 11.Git管理的基础概念
- 1.11.1.工作区域
- 2.11.2.工作流程
- 32.版本分支
- 3.12.1.基线分支
- 3.22.2.开发分支
- 3.32.3.bugfix 分支
- 43.Git SSH Key配置
- 4.13.1.生成SSH Key
- 4.23.2.配置gitlab的SSH Key
- 4.33.3.配置source tree的SSH Key
- 54.克隆Git项目
- 65.切换分支
- 76.提交代码
- 87.代码分支合并
1.Git管理的基础概念
1.1.工作区域
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:
Workspace:工作区,就是你平时存放项目代码的地方
Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
1.2.工作流程
git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

2.版本分支
2.1.基线分支
master 稳定代码版本快照
2.2.开发分支
dev-版本发布年月日,例:dev-20210407
该分支为一个版本的总分支,包含特性和bug 修复,可采用 Jira 的 story 号作为名称,例:dev-mic-51041,或者产品经理或项目经理指定的名称;测试完成后最终合并入 release 进行发布。
2.3.bugfix 分支
bugfix-修复bug发布年月日,例:bugfix-20210407
bugfix 分支用于修复master的bug;修复的版本号为 bug 修复发布的年月日
3.Git SSH Key配置
以下是根据sorce tree工具的使用方法进行的截图,使用人员可以根据自己的需求选择不同的工具
3.1.生成SSH Key
打开gitBash命令行,输入ssh-keygen -t rsa -C "这里换上你的邮箱",然后一直回车;
执行结束后,在C:\Users\用户名\.ssh下出现id_rsa 和 id_rsa.pub 两个文件



3.2.配置gitlab的SSH Key
打开git.vemic.com网址,登录后进入账户的settings页面

选择SSH Key,打开3.1步骤中生成id_rsa.pub 文件,将其中的内容Ctrl+C复制到SSH Key的文本框中,点击Add Key按钮,则可以看到在Yours SSH Keys中出现刚刚添加的SSH Key。

3.3.配置source tree的SSH Key
打开source tree→工具→创建或导入SSH密钥

在弹出页面上点击 Load 按钮,在选择页面上3.1步骤中生成的 id_rsa 文件


对生成的key,点击 Save private key按钮,输入文件名称生成.ppk文件


打开source tree→工具→启动SSH助手(在任务栏最小化托盘中可以找到Pageant(PuTTY authentication agent)图标)
打开后点击Add Key,导入上一步中生成的.ppk文件即可


4.克隆Git项目
打开git.vemic.com网址,登录后进入账户,选择自己的项目,点击Clone→Clone with SSH

在source tree中点击Clone按钮,Ctrl+V将项目URL复制到第一行,选择需要保存的路径后点击 克隆 按钮。


克隆 成功后可以看到,左侧深色字体表示目前的使用的分支,中下部 未暂存文件 显示未加入git的文件有哪些

5.切换分支
打开source tree,在左侧的【远程】→【origin】下选择你需要切换的分支,对弹出框选择 【检出xxxxx(分支名称)】,切换成功后在 【分支】 下出现切换成功的分支

6.提交代码
从【未暂存文件】选择新增/修改/删除 的代码,右键选择【添加】选项,将准备提交的代码添加到暂存文件列表中;
输入comment,点击提交按钮,完成代码对本地仓库的提交。

提交后在【推送】按钮处显示有待推送到中央仓库的提交。根据需要可以适时推送,让项目成员能够看到你的代码。

7.代码分支合并
以下的合并申请的提交也可以通过source tree来进行;
打开git.vemic.com网址,登录后进入账户,选择自己的项目,点击Merge Requests

点击 New merge Request按钮

选择需要合并的来源分支,一般是我们的开发分支;选择目标分支一般是我们的master分支;
选择好后点击【Compare branches and continue】的按钮

确认From 和 into 的分支是否正确
注意【Delete source branch when merge request is accepted】这个选项,在分支合并后dev分支会被自动删除。所以如果是一直使用的分支这个选项是不用勾选的,如果是bugfix的分支修复完毕可以勾选以后让其自动删除
点击【Submit merge request】提交合并申请

这个页面【Merge】及分支合并,选择【Close merge Request】即关闭本次合并,合并申请被拒绝;后续可以再一次发起合并请求;
目前对于master分支设置的是受保护分支,只有项目maintainer才有Merge的权限。

代码合并成功会显示下面的页面

