本文并非面向完全的 Git 初学者,也不会详细介绍每一个 Git 命令和它的所有选项。相反,本文的目标读者是那些已经有一些基础,至少知道如何在本地仓库进行基本的版本控制操作,包括 git add
,git commit
和 git log
,但是还没有在企业环境中真正使用 Git 进行过项目开发的开发者们。
本文的目标是提供一种顺畅的过渡,帮助你更深入地理解如何在实际的项目开发中使用 Git,以及如何利用 Git 进行高效的团队协作。
提交规范
记住,每个提交都应该是有意义的更改,应附带明确的提交信息。这不仅可以帮助你回溯和理解每次更改的目的,而且还能帮助团队其他成员更好地理解你的更改。在提交规范中,你可以添加更多关于提交信息格式的建议,比如推荐的提交信息格式是:<type>: <subject>
,这里的type可以是以下几种:
- feat:新功能
- fix:修复bug
- docs:文档改变
- style:代码格式改变(比如删除空格、格式化)
- refactor:某个已有功能重构
- perf:性能优化
- test:增加测试
- chore:构建过程或辅助工具的变动
subject则是对提交内容的简短描述。
分支管理
分支是 Git 中的核心概念,是实现并行开发和团队合作的重要工具。在这个章节中,本文会详细介绍如何在实际项目开发中高效使用分支。
开发流程
在一个典型的开发流程中,我们通常会有一个主分支(例如 master
或 main
),一个开发分支(例如 develop
),以及针对特定功能或修复的特性分支(例如 feature/your_feature
或 fix/your_fix
)。
主分支通常包含了最新发布的或即将发布的代码,开发分支包含了正在开发的代码,而特性分支则是从开发分支切出来的,用于开发新功能或修复bug。
当新功能或修复完成后,我们会将特性分支合并回开发分支,然后在需要发布新版本时,我们会将开发分支合并到主分支,并打上相应的版本标签。
创建并切换分支
创建并切换到新的分支,我们可以使用 git checkout -b
命令:
git checkout -b new_branch
合并分支
要将一个分支的更改合并到当前分支,我们可以使用 git merge
命令:
git merge other_branch
请注意,合并前通常需要切换到目标分支,例如将开发分支合并到主分支:
git checkout master
git merge develop
分支的推送和删除
在你完成了特性分支上的工作后,你可以将其推送到远程仓库,并在确认