Git新手求助:合并develop到master后分支关联,如何复用develop分支?
解决Git分支独立性问题,重新正常使用develop分支
嘿,我明白你现在的困扰——作为Git新手,把develop合并到master后,俩分支好像绑在一起了,改哪个都会影响另一个。别担心,咱们一步步来搞定它,顺便给你规范下后续的工作流程,避免再踩坑。
先搞定当前的混乱状态:确保工作区干净
首先得把手里没提交的修改处理好,不然切换分支、重置的时候容易丢东西:
- 如果这些修改还没到要提交的程度,先临时存起来:
git stash - 如果修改是有用的,先提交到当前所在的分支(随便写个临时备注就行):
git add . git commit -m "临时提交:xxx功能的半成品修改"
让develop重新成为独立的开发分支
现在俩分支大概率是指向同一个提交节点,所以咱们要让develop从最新的master分支“重新出发”:
- 先切到master分支,确保它是最新的(如果远程有更新的话):
git checkout master git pull origin master - 切换到develop分支,把它重置到master的当前状态(重要提醒:如果develop上还有没合并到master的修改,先执行
git branch develop-backup创建个备份分支,不然重置会丢内容!):git checkout develop git reset --hard master - 把重置后的develop推到远程仓库——因为本地和远程的develop现在不一致,所以需要强制推送(记得提前跟团队里的人说一声,避免别人的工作受影响):
git push origin develop --force
恢复之前暂存的修改(如果有的话)
要是之前用git stash存了修改,现在切回develop把它拿回来:
git checkout develop git stash pop
后续规范工作流程,避免再出问题
这次的问题主要是合并后没正确维护分支的独立性,以后按下面的步骤来就稳了:
- 开发新功能时,永远先切到develop分支:
git checkout develop,写完代码提交后推到远程develop,部署到dev.site.com测试。 - 测试没问题要上生产了,再切到master:
git checkout master,先拉取远程最新的master,再合并develop:git pull origin master git merge develop - 合并完推到远程master,部署到site.com。
- 最后切回develop,拉取远程develop同步状态,继续开发下一个功能:
git checkout develop git pull origin develop
这样master就一直是生产环境的稳定版本,develop是独立的开发分支,改develop不会影响master,除非你主动去合并,完美解决你的问题~
内容的提问来源于stack exchange,提问作者user50694
相关产品推荐
相关产品推荐

