如何制定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