大厂的git提交流程原来是这样的

大厂的git提交流程原来是这样的_第1张图片

在使用Git的过程中如果没有清晰流程和规划,否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。Git版本管理同样需要一个清晰的流程和规范。业内普遍采用的git 工作流程就是git flow,使得团队协作效率大大提高‌

下面是git flow的工作流程图:

大厂的git提交流程原来是这样的_第2张图片

Git Flow 的常用分支

生产分支(master)‌

Master分支是仓库的主分支,也有人叫Production分支,这个分支包含最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改‌

补丁分支(hotfix)‌

当我们在生产环境发现新的Bug时候,我们需要基于master分支创建一个Hotfix分支,然后在Hotfix分支上修复bug,完成Hotfix后,我们要把hotfix分支合并回Master和Develop分支‌,所以Hotfix的改动会进入下一个Release

发布分支(release)‌

当你需要发布一个新功能的时候,要基于Develop分支创建一个Release分支,在Release分支测试并修复bug,完成release后,把release合并到master和develop分支‌

开发分支(develop)‌

这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支‌

功能分支(feature)‌

feature分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release‌

接下来我们讲下git flow的具体使用细节:
当我们新建git仓库之后,默认会创建一个主分支也就是master分支,由于master分支是用于发布生产环境,所有必须保证master上代码的稳定性,所以我们不能直接在master分支上修改提交。我们要基于master分支创建一个develop分支,develop分支用于保存开发好的相对稳定的功能,master分支和develop分支是仓库的常驻分支,一直会保留在仓库中

大厂的git提交流程原来是这样的_第3张图片

当新的开发任务来了之后,就要编写代码了,我们尽量不要在develop分支上写代码,要保证develop分支的相对稳定,所以这时我要就要基于develop 分支创建一个临时的开发分支,然后在开发分支上编写代码,等功能开发完之后我们再把开发分支合并到develop上
大厂的git提交流程原来是这样的_第4张图片

新功能合并到develop分支之后,我们想把新功能发布到生产环境,首先基于develop分支创建release分支,然后在release分支测试完成之后,把release分别合并到master分支和develop分支
大厂的git提交流程原来是这样的_第5张图片

release分支合并到master分支之后,在master分支上打标签用于发布:

大厂的git提交流程原来是这样的_第6张图片

我们把代码发布到了生产环境,用户在使用的时候给我们反馈了一个bug,这时我们需要基于master分支创建一个hotfix 分支,用于修复bug,bug修好之后,把hotfix 分支分别合并到master分支和develop分支

大厂的git提交流程原来是这样的_第7张图片

Git flow工具

如果你理解了上面的流程,你完全可以不使用Git flow工具,但是如果你想更标准化的执行git flow,可以尝试使用git flow工具‌

安装‌SourceTree

大厂的git提交流程原来是这样的_第8张图片

初始化 Git flow

点击右上角的 “Git 工作流” ,初次会提示我们 “使用 Git Flow 来初始化此仓库”,已经帮助我们预定义好了一些配置,我们只需要点击 “确定” 按钮即可

大厂的git提交流程原来是这样的_第9张图片

点击“确定”按钮后,我们会发现 SourceTree 为我们自动创建了 develop 分支,并且切换到了 develop 分支。

大厂的git提交流程原来是这样的_第10张图片

Git flow: 建立新功能

继续点击右上角的 “Git 工作流” ,这次会提示我们选择具体的下一个流程动作,这里我们演示一个 “建立新的功能” 流程。

大厂的git提交流程原来是这样的_第11张图片

点击 “建议新的功能” ,会让我们对即将要开发的功能进行命名(名称请使用英文),这里我们输入 simple-git-flow,点击确定按钮,会自动帮助我们创建 feature/simple-git-flow 分支,并切换到该分支上。

大厂的git提交流程原来是这样的_第12张图片

同时我们也能看到 SourceTree 帮助我们执行了什么命令来达到这样的效果。

大厂的git提交流程原来是这样的_第13张图片

已经自动切换到feature/simple-git-flow 分支。

大厂的git提交流程原来是这样的_第14张图片

提交代码
此时我们可以在分支上开发我们的新功能,可以在分支上管理代码,而不影响到其他同事的开发工作。

为了简单演示,我们修改下 readme.md 的内容如下:

大厂的git提交流程原来是这样的_第15张图片

在 SourceTree 界面,我们需要在 未暂存文件 区域选中 readme.md 并点击 暂存所选 按钮,此时 readme.md 文件会进入到 已暂存文件 区域。只有 已暂存文件 的文件会进行 提交操作 。

在下方的空白区域输入本次提交的说明:a simple git flow 后点击提交按钮,就会提交源码。

大厂的git提交流程原来是这样的_第16张图片

如下图所示:可以看到刚刚提交的代码记录

大厂的git提交流程原来是这样的_第17张图片

完成新功能开发

经过不断的代码完善,并且经过单元测试后,代码已经完成后,此时就可以完成 新功能的开发,继续点击Git 工作流

大厂的git提交流程原来是这样的_第18张图片

点击 “完成功能”,默认会如下图所示,在正常的开发流程下,我们不需要更改任何设置,直接点击确定即可。

大厂的git提交流程原来是这样的_第19张图片

SourceTree 展示所执行的命令及结果。

大厂的git提交流程原来是这样的_第20张图片

完成后,我们会发现 feature/simple-git-flow 分支已经不见了,同时在 develop 分支上多了一个a simple git flow的提交信息。

大厂的git提交流程原来是这样的_第21张图片

至此整个 “建议新功能” 的 git flow 流程就完毕了。

大厂的git提交流程原来是这样的_第22张图片

你可能感兴趣的:(git,git提交流程,git分支管理,大厂git)