如何删除GitHub仓库中的合并提交(merge commit)?
解决Git远程仓库中多余合并提交的方法
你之前执行git reset --hard HEAD~1后本地提交变化但GitHub没更新,是因为这个操作只修改了本地仓库的提交历史,并没有同步到远程仓库。要删除GitHub上的这个合并提交,按以下步骤操作:
先在本地锁定目标提交:你的合并提交
70cc4bd的父提交是960b06a和709f964,如果想回到合并前本地master的状态,直接执行:git reset --hard 960b06a执行前可以先运行
git log --oneline确认提交链,确保选对了要回退的节点。强制同步到远程仓库:因为你修改了本地提交历史,普通推送会被拒绝,必须用强制推送覆盖远程历史:
git push origin master --force-with-lease用
--force-with-lease比直接--force更安全,它会检查远程是否有你本地未同步的新提交,避免误覆盖其他人的修改。
注意事项
强制推送会改写远程仓库的提交历史,如果有其他协作者在这个仓库工作,一定要提前通知他们,让他们执行git pull --rebase重新同步仓库,否则会出现提交冲突。
内容的提问来源于stack exchange,提问作者DuchSuvaa
相关产品推荐
相关产品推荐

