错误执行git pull后出现冲突,如何回滚操作并同步远端git仓库?
回滚错误git pull操作并同步远程仓库的方案
注意:git reset --hard会直接丢弃所有未提交的本地修改,操作前请确认所有需要保留的内容已经通过git stash暂存或本地备份
场景1:pull后出现冲突,尚未提交合并内容
- 查看本地HEAD变动记录,定位pull操作前的版本:
git reflog
输出中git pull操作的上一条记录对应的标识一般为HEAD@{1},也可以根据时间戳确认对应commit哈希。 - 执行硬重置回退到pull前的版本:
git reset --hard HEAD@{1}
场景2:已经完成冲突解决并提交了合并记录,需要撤销合并
- 若需要完全对齐远程仓库、丢弃本地所有提交差异,直接执行:
git reset --hard origin/<你的分支名称>
示例:对应主分支执行git reset --hard origin/main,对应开发分支执行git reset --hard origin/dev - 若需要保留pull之后的部分本地提交,先执行
git log --oneline找到合并提交前的本地commit哈希,再执行:git reset --hard <目标commit哈希>
验证同步结果
执行git status,如果输出Your branch is up to date with 'origin/<分支名称>'说明已经和远程仓库同步完成。
内容的提问来源于stack exchange,提问作者ankit
相关产品推荐
相关产品推荐

