如何在Visual Studio中回退master分支至上一次合并版本?
撤销Master分支合并PR并回退到指定节点的CLI方案
针对你要撤销PR 12943的合并、完全回退到PR 12923节点的需求,分两种场景给出CLI操作方案:
场景1:生产环境Master分支仅本地存在/无人拉取过合并后的代码
这种情况可直接重置分支历史,操作简单:
- 切换到Master分支:
git checkout master - 拉取远程最新代码确保同步:
git pull origin master - 用
git log --oneline找到PR 12923对应的提交哈希(比如输出里的abc1234 Merged PR 12923: ...,abc1234就是哈希),执行重置:git reset --hard <PR12923的提交哈希> - 强制推送到远程Master分支:
git push origin master --force
场景2:Master是公共分支,已有其他开发者拉取过合并后的代码
为避免重写公共分支历史影响他人,用git revert生成撤销提交:
- 切换到Master分支并拉取最新代码:
git checkout master && git pull origin master - 用
git log --oneline找到PR 12943对应的合并提交哈希(即Merged PR 12943: ...那行的哈希) - 执行撤销合并操作(
-m 1表示回退到合并前的第一个父节点,也就是PR 12923的节点):git revert -m 1 <PR12943的合并提交哈希> - 此时会自动生成一个新的撤销提交,直接推送到远程:
git push origin master
注意事项
- 执行前务必通过
git log确认提交哈希的准确性,避免回退错误节点 git reset --hard会丢弃本地未提交的变更,操作前确保本地工作区干净- 公共分支优先用
git revert,避免破坏其他开发者的本地仓库同步
内容的提问来源于stack exchange,提问作者bradoxbl
相关产品推荐
相关产品推荐

