如何清理Git的preview分支并与release分支同步?
清理preview分支并与release分支完全同步
直接合并release到preview后残留旧代码,是因为preview分支上的实验提交还存在,合并只会整合release的变更,不会自动删除preview上的历史代码。下面是两种彻底同步的方法:
方法一:直接重置preview分支(推荐,操作简洁)
这种方式会让preview分支完全变成release分支的副本,原实验提交会被丢弃:
- 拉取远程仓库的最新代码:
git fetch --all - 切换到preview分支:
git checkout preview - 将preview硬重置到远程release分支的最新状态:
git reset --hard origin/release - 强制推送到远程仓库(用
--force-with-lease比--force更安全,避免误覆盖他人提交):git push --force-with-lease origin preview
方法二:新建分支替换旧preview(适合无法强制推送的场景)
如果没有权限执行强制推送,可以通过新建分支替换旧分支:
- 切换到release分支并拉取最新代码:
git checkout release && git pull - 基于release创建新分支:
git checkout -b temp-preview - 删除本地旧的preview分支:
git branch -D preview - 将新分支重命名为preview:
git branch -m temp-preview preview - 删除远程旧的preview分支:
git push origin --delete preview - 将新的preview分支推送到远程:
git push origin preview
注意:两种方法都会清除preview分支上的实验代码,操作前请确认不需要保留这些代码,或者提前备份。
内容的提问来源于stack exchange,提问作者Johansrk
相关产品推荐
相关产品推荐

