如何制定Git功能开发的提交策略?
摘要:Git:功能开发的提交策略 1.1 推荐的Git工作流 主分支 (mainmaster) -- 永远保持稳定可发布状态 ↑ 功能分支 (feature*) -- 每个功能一个分支 ↑ 临时提交 (daily work) -- 每天多次提
Git:功能开发的提交策略
1.1 推荐的Git工作流
主分支 (main/master) -- 永远保持稳定可发布状态
↑
功能分支 (feature/*) -- 每个功能一个分支
↑
临时提交 (daily work) -- 每天多次提交
1.2 具体操作命令
第1步:创建功能分支
# 从主分支创建功能分支
git checkout main
git pull origin main
git checkout -b feature/new-feature
# 推送到远程(备份)
git push -u origin feature/new-feature
第2步:日常开发提交
# 每天可以多次提交
git add .
git commit -m "feat: 实现登录界面布局"
# 或者使用更有意义的临时提交消息
git add .
git commit -m "WIP: 登录功能开发中..." # WIP = Work In Progress
# 每天下班前推送到远程备份
git push origin feature/new-feature
第3步:整理提交历史(功能完成后)
# 1. 查看当前分支的提交历史
git log --oneline --graph --all
# 2. 交互式rebase整理提交
# 提示:HEAD~5 表示整理最近的5次提交,请根据实际情况调整数字
git rebase -i HEAD~5
# 3. 在编辑器中,根据提示整理提交
# pick 保留提交
# reword 修改提交信息
# squash 合并到前一个提交(保留提交信息)
# fixup 合并到前一个提交(丢弃提交信息)
# drop 删除提交
第4步:合并到主分支
# 1. 获取主分支最新状态
git checkout main
git pull origin main
# 2. 合并功能分支(根据团队规范选择一种方式)
# --- 方式A:保留合并记录 ---
# 切换回功能分支并同步主分支更新(解决潜在冲突)
git checkout feature/new-feature
git rebase main
# 切换回主分支进行快进合并
git checkout main
git merge feature/new-feature
# --- 方式B:创建合并提交 ---
git merge --no-ff feature/new-feature
# 3. 推送合并结果
git push origin main
# 4. 删除已合并的功能分支
git branch -d feature/new-feature
# 可选:删除远程分支
git push origin --delete feature/new-feature
