Git新手同一项目双分支并行开发无冲突操作咨询
Git多分支并行开发操作指南
现有操作方案可行性判断
你梳理的流程不可行。Git的未提交改动属于工作区和暂存区,不属于任何分支,只要没有文件冲突,切换分支时这些改动会一直跟随工作区。如果两个功能的改动同时存在于工作区,即使你只提交指定目录的内容,切换分支时未提交的另一个功能的改动也会被带过去,很容易出现误提交、代码混改的问题。
正确操作流程(推荐两种低风险方案)
方案1:暂存未完成改动(最常用,适合临时切换分支的场景)
- 停留在第一个功能的开发分支,执行
git stash,命令会将当前工作区、暂存区的所有未提交改动存入Git暂存栈,工作区会恢复为当前分支最新提交的干净状态 - 切换到master分支并拉取远端最新代码:
git checkout master && git pull origin master - 基于最新master创建第二个功能的专属分支并切换:
git checkout -b 第二个功能分支名 - 在新分支开发第二个功能,完成后执行
git add 对应功能目录、git commit -m "提交说明"即可将改动绑定到当前分支 - 需要恢复第一个功能开发时,先提交完第二个分支的改动(或执行
git stash暂存第二个功能的未提交改动),切换回第一个功能分支:git checkout 第一个功能分支名,执行git stash pop即可恢复之前暂存的未完成改动,继续开发即可
方案2:提交临时改动(适合改动可留存的场景)
如果第一个功能的未完成改动允许提交临时版本,可以直接提交后再切换分支:
- 在第一个功能分支执行
git add 第一个功能对应目录,再执行git commit -m "feat: 功能1 开发中临时提交" - 后续创建第二个功能分支、开发的流程和方案1一致
- 后续回到第一个功能分支开发完成后,可以用
git commit --amend修改之前的临时提交信息,或者用git rebase -i合并多个临时提交,保持提交日志整洁
注意事项
由于你的两个功能改动在完全独立的目录,不存在文件级别的修改冲突,只要按上述流程将不同功能的改动分别绑定到对应分支,就不会出现跨分支混改的问题。
内容的提问来源于stack exchange,提问作者Alain
相关产品推荐
相关产品推荐

