像专业人士一样贡献代码。git 分支模型指南(上)
团队开发软件需要对代码库有清晰的理解和妥善的管理。如果团队成员只知道“拉-推”,你很快就会陷入解决合并冲突的陷阱!
如果团队不熟悉版本控制,在软件交付的同时进行开发可能会变得棘手。Git-flow 在敏捷开发中扮演着重要的角色。我强烈建议你逐字逐句地阅读本文,不要草草浏览。让我们开始探索 git 分支模型吧。
Git 分支模型
实现 git-flow,你的 repo 应该包含两个主要分支:
- 主(或主要)
- 发展
主分支是您在 Git 中初始化代码库时自动创建的主要分支。它是代码库的起源,并且预先存在。您会发现它被这样写着origin/master
。这个分支必须包含“干净的代码”,即已准备好部署的代码库。您不应该直接向这个代码库贡献或推送代码!我会告诉您应该将代码推送到哪里。
您应该创建开发分支。即使您是独自构建,我也建议您这样做。这个分支包含活跃代码库,即处于开发状态的项目。无论功能是否正常运行,它都是合适的位置。您可以这样开始:
# Create a develop branch and switch it on
$ git checkout -b develop
# Pull the codebase from master branch into your current branch(develop)
$ git pull origin master
其他分行
除了两个主要分支外,还有三个其他分支。所有这些分支都应在develop
分支内创建。这些分支是:
- 功能分支
- Hotfix 分支
- 发布分支
创建它们的方法如下:
# Created as a sub-branch of develop branch (replace feature-backup with a branch name)
$ git checkout -b feature-backup develop
# Or a hotfix branch
$ git checkout -b hotfix-443 develop
命名约定和合并
这些分支的命名遵循标准方式。例如feature-*
,hotfix-*
和release-*
。例如;feature-login
,或release-1.0.1
在功能分支(或主分支以外的任何其他分支)上完成所有实现后,应该将其合并回develop
分支,然后再合并到master
分支(在生产环境中)。操作方法如下:
# Switch to develop branch
$ git checkout develop
# Merge the feature branch
$ git merge --no-ff feature-backup
使用标记合并会创建一个新的提交记录。这有助于在合并后--no-ff
保存功能分支的历史信息。因此,即使在合并后,也可以轻松地从开发分支回滚到特定功能。
不要错过本文的下一部分。
感谢阅读!
最初发布于此处
鏂囩珷鏉ユ簮锛�https://dev.to/maen/contribute-like-a-proa-guide-for-git-branching-model-part-1-4kff