如何通过命令在Bitbucket中用本地分支覆盖远程分支?
如何用本地分支强制覆盖Bitbucket远程分支
没问题,这是个常见需求,直接用强制推送就能实现本地分支完全覆盖远程分支的目的,不过操作前一定要注意风险——强制推送会抹掉远程分支上所有和本地不一致的提交,所以务必确认团队里没人在这个分支上有未合并的工作,最好提前和队友打个招呼!
具体步骤如下:
先确保你当前正处在要推送的本地分支上
运行git branch查看当前分支,确认带*的是你要覆盖远程的那个分支。如果不是,用下面的命令切换过去:git checkout <你的本地分支名>执行强制推送命令
直接用-f参数强制推送到远程,命令如下:git push -f origin <你的本地分支名>这里的
origin是你的Bitbucket远程仓库默认别名,如果你的远程别名不是这个,替换成对应的名字就行。
额外注意事项
- 如果Bitbucket返回权限错误,大概率是仓库开启了分支保护规则(禁止强制推送)。你需要登录Bitbucket仓库后台,进入「Settings」→「Branches」,找到对应的分支规则,暂时关闭「Prevent force pushes」选项,推送完成后再重新开启,保障分支安全。
- 如果你不确定本地分支的状态是否正确,可以先运行
git log查看本地提交记录,确认是你想要覆盖远程的版本再执行推送。
内容的提问来源于stack exchange,提问作者Rabia
相关产品推荐
相关产品推荐

