Git 工作流程学习笔记
1. 什么是Git工作流程?
Git工作流程是指,开发团队在使用Git进行代码管理过程中,所采用的一套固定的开发流程和规范。这个流程可以包括代码提交、合并、发布等各种操作,以在多人协作中保证代码质量、开发效率和协作顺畅。
2. 常见的Git工作流程
下面介绍几种常见的Git工作流程:
2.1 集中式工作流
集中式工作流是最简单的Git工作流程,也是最容易理解的一种。这种工作流程通常由一名或几名主开发者掌控,其他开发者只需要从主仓库取得代码,进行修改后再向主仓库提交即可。
例如,我们在公司中有一个主要的代码仓库,团队中的每个人都需要clone主仓库代码到本地,然后在自己的分支上进行开发,最后再将代码提交到主仓库。主开发者可以通过合并请求(Pull Request)或者审查代码来审核团队成员提交的代码。这种工作流程对于小型团队和敏捷开发非常适合。
2.2 功能分支工作流
功能分支工作流是一种更加高效的工作流程,它可以在项目中支持并行开发。这种工作流程的核心是为每个功能或特性分配一个独立的分支来开发,开发完成后再合并到主分支中。
例如,我们在公司中有一个项目需要添加一个新的功能,我们可以创建一个新的分支来进行开发。在该分支上,我们可以自由地进行修改和提交。最终,如果这个新功能被确认可用,我们就可以将其合并到主分支中,发布到生产环境中。
2.3 Gitflow工作流
Gitflow工作流是一种比较复杂的工作流,但是它可以非常好地管理大型项目的开发流程。Gitflow工作流通过引入两个长期分支来管理开发过程:master 分支和 develop 分支。具体来说,master 分支是用来发布新版本的,而 develop 分支用来进行日常的开发工作。
例如,我们在公司中有一个复杂的软件项目,需要在多个平台上运行。我们可以将源代码分支成两个长期分支:master 和 develop。在 develop 分支上,我们可以创建新的特性分支来进行开发,开发完成后再将其合并到 develop 分支中。当 develop 分支完成所有开发工作、测试工作之后,就可以将其合并到 master 分支中,推送到生产环境进行发行了。
3. 实例
3.1 集中式工作流实例
我们在开发一个网站,需要有两个人分别负责前端和后端。前端工程师创建了一个名为“feature-login”的分支,在该分支上进行开发,最终将代码提交到主分支中。
Copy Code# 前端工程师执行以下命令
git clone https://github.com/xxx/xxx.git
cd xxx
git checkout -b feature-login
# 在分支上进行开发,提交代码
# 后端工程师执行以下命令
git clone https://github.com/xxx/xxx.git
cd xxx
# 拉取最新代码
git pull origin main
# 在主分支上进行开发,提交代码
3.2 功能分支工作流实例
我们在开发一个网站,需要有两个人分别负责前端和后端。前端工程师创建了一个名为“feature-login”的分支,在该分支上进行开发,最终将代码提交到 develop 分支中。后端工程师也创建了一个名为“feature-auth”的分支,在该分支上进行开发,最终将代码合并到 develop 分支中。
Copy Code# 前端工程师执行以下命令
git clone https://github.com/xxx/xxx.git
cd xxx
git checkout -b feature-login
# 在分支上进行开发,提交代码
git push origin feature-login
# 后端工程师执行以下命令
git clone https://github.com/xxx/xxx.git
cd xxx
git checkout -b feature-auth
# 在分支上进行开发,提交代码
git push origin feature-auth
# QA测试人员执行以下命令
git clone https://github.com/xxx/xxx.git
cd xxx
# 拉取最新的develop分支代码
git pull origin develop
# 测试代码
3.3 Gitflow工作流实例
我们在开发一个大型软件项目,需要管理多个分支和版本。通过使用 Gitflow 工作流,我们可以更好地管理整个开发过程。
Copy Code# 创建一个新项目,然后初始设置 Gitflow 工作流
git flow init
# 开发新功能,在 feature 分支上进行
git flow feature start feature-login
# 在分支上进行开发,提交代码
git flow feature finish feature-login
# 进行发布,发布分支是 release 分支
git flow release start release-1.0
# 对版本进行测试,并进行修复
git flow release finish release-1.0
# 修复当前主分支中的漏洞
git flow hotfix start hotfix-1.0.1
# 修复漏洞
git flow hotfix finish hotfix-1.0.1