阶段三:分支策略

第14课:发布管理

📖 课程概述

本课我们深入学习发布管理。语义化版本、发布流程、CHANGELOG、发布清单。这是Git精通课程的第14课,通过本课学习你将掌握相关核心概念和实操技能,能够在实际项目中灵活运用。

🎯 学习目标

1. 版本号

MAJOR.MINOR.PATCH/预发布。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在版本号中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 版本号相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用版本号相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

2. Git Flow发布

release分支→master→tag。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在Git Flow发布中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # Git Flow发布相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用Git Flow发布相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

3. GitHub Flow发布

main即部署+tag。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在GitHub Flow发布中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # GitHub Flow发布相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用GitHub Flow发布相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

4. CHANGELOG

Added/Fixed/Changed/Breaking。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在CHANGELOG中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # CHANGELOG相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用CHANGELOG相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

5. 发布清单

测试/审查/版本号/文档。这是本课的核心知识点之一,理解其原理和实操方法对掌握Git至关重要。

核心概念

在发布清单中,我们需要理解以下关键概念和操作方式。Git的设计哲学是让每个操作都有明确的语义和可预期的结果,掌握这些概念能帮助你更高效地使用Git。

$ # 发布清单相关命令
$ git status
On branch main
nothing to commit, working tree clean
💡 实用技巧:在使用发布清单相关功能时,建议先在测试仓库中练习,熟悉操作流程后再在正式项目中使用。错误操作可以通过git refloggit reset恢复。

✅ 实机验证

$ git version
git version 2.43.0
$ git log --oneline -3
a163589 v3: introduced bug
2a5802e v2: good
c02b492 v1: good
✅ 验证通过:Git命令执行正常

🤔 常见问题

Q1: 版本号的最佳实践是什么?

理解底层原理,不要只停留在命令层面。动手实践是掌握Git的最佳方式。

Q2: 操作失误如何恢复?

使用git reflog找到之前的提交,然后用git reset --hard恢复。几乎所有Git操作都可以撤销。

Q3: 团队协作中需要注意什么?

保持频繁沟通,避免长期不合并的分支。所有合并通过Pull Request进行代码审查。

📝 练习

  1. 创建测试仓库,实践版本号相关操作
  2. 尝试Git Flow发布的完整流程
  3. 模拟错误场景,练习恢复操作
  4. 与同学协作,练习GitHub Flow发布
  5. 记录遇到的问题和解决方案

🏆 成就解锁

📚 本课小结

关键要点

在本课中,我们系统学习了核心概念和实操技能。关键要点:

延伸阅读

命令速查表

命令功能常用选项
git init初始化仓库
git clone克隆远程仓库--depth,--branch
git add暂存更改-p,-A
git commit提交-m,--amend,-a
git status查看状态-s
git log查看历史--oneline,--graph
git diff查看差异--staged,--stat
git branch分支管理-d,-a,-v
git merge合并分支--no-ff,--abort
git rebase变基-i,--continue,--abort
git stash暂存工作pop,list,-u
git tag标签管理-a,-d,-l
git push推送到远程-u,--force-with-lease
git pull拉取并合并--rebase
git fetch拉取不合并
git remote远程仓库管理-v,add
git reset重置--soft,--mixed,--hard
git reflog引用日志
git cherry-pick挑选提交-x,-n
git bisect二分查找start,run
git blame行级追溯-L
git worktree工作树管理add,list,remove
git lfs大文件管理track,install

🎬 实战案例

假设你正在开发一个Web应用,需要处理以下场景:创建功能分支、提交更改、合并到主分支。以下是完整的命令流程:

$ git checkout -b feature/new-api
$ echo "API endpoint" > api.py
$ git add api.py
$ git commit -m "feat: add new API endpoint"
$ git checkout main
$ git merge --no-ff feature/new-api
$ git branch -d feature/new-api
$ git push origin main

这个流程展示了从创建分支到合并删除的完整过程。注意--no-ff确保保留分支信息,-d删除已合并分支。

⚠️ 常见陷阱