如何将staging分支更新为main分支的完全副本(无需合并)
把staging分支变成main分支完全副本的方法
重要提醒:这个操作会彻底清除staging分支原有的所有提交历史和内容,执行前一定要确认已经备份好分支里的重要内容,团队协作时也要提前告知其他成员,避免冲突。
方法一:硬重置分支
- 切换到本地staging分支
git checkout staging
- 把staging分支硬重置到main分支的最新状态,直接丢弃所有本地修改和历史差异
git reset --hard main
- 如果staging分支已经推送到远程仓库,需要强制推送覆盖远程分支(强制推送会覆盖远程的旧分支记录,务必确认团队成员都知晓)
git push --force origin staging
方法二:删除旧分支后重新创建
如果觉得硬重置不够直观,也可以直接删掉旧的staging分支,从main重新生成:
- 先切换到main分支
git checkout main
- 删除本地的staging分支
git branch -D staging
- 从main分支创建新的staging分支
git checkout -b staging
- 如果远程仓库还有旧的staging分支,先删除远程分支再推送新分支
git push origin --delete staging git push origin staging
两种方法最终都会让staging分支成为main分支的完全副本,彻底解决提交历史不兼容的问题。
内容的提问来源于stack exchange,提问作者João A. Veiga
相关产品推荐
相关产品推荐

