GitHub Desktop本地master分支未同步Azure远程PR合并结果
解决本地master分支与远程不同步的问题
问题根源
你本地master的提交历史和远程master已经脱节了——远程是通过PR生成合并提交完成的合并,而你在本地直接把新分支合并到了master,导致本地多出了一堆待推送的提交,和远程的历史对不上。
解决步骤
1. 切换到本地master分支
在GitHub Desktop里确认当前分支是master,不是之前的开发分支。
2. 拉取远程最新的master
直接点击界面上的「Pull origin」按钮,或者通过顶部菜单「Repository」→「Pull」来拉取远程master的最新状态。如果出现冲突提示,手动解决后提交即可(这种情况概率很低,因为远程已经合并了你的PR)。
3. 强制重置本地master(拉取后仍有问题时用)
要是拉取之后本地还是显示有未推送提交,说明本地历史和远程完全不一致,需要用命令强制同步:
- 点击「Repository」→「Open in Terminal」打开终端,执行:
注意:这个操作会直接把本地master覆盖成远程的样子,一定要确认本地那些未推送的提交已经通过PR合并到远程了再执行,不然会丢失修改。git reset --hard origin/master
4. 确认状态
操作完后看GitHub Desktop界面,应该显示「This branch is up to date with origin/master」,没有待推送的提交就搞定了。
后续操作提醒
以后别在本地直接合并分支到master再推送了,按Azure的规则来:
- 开发分支提交推送后,直接去Azure DevOps开PR
- 等PR审核合并完成后,再拉取远程master到本地,保持本地和远程同步
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

