如何将笔记本保留的3个提交推送到已执行push --force的远程仓库?
解决方法
直接在笔记本上执行强制推送操作即可将这3个提交恢复到远程仓库,具体步骤如下:
切换到包含目标提交的分支(假设分支名为
main,如果是master请替换):git checkout main先拉取远程仓库最新状态,确认远程没有新增的提交(避免覆盖他人的修改):
git fetch origin查看本地分支比远程分支多的提交,确认是你要推送的那3个:
git log --oneline origin/main..main执行后会列出本地有但远程没有的提交,核对是否为你要恢复的3个。
确认无误后,执行强制推送:
git push --force origin main
注意事项
- 强制推送会覆盖远程仓库对应分支的现有内容,如果在你之前强制回退之后,有其他协作者向远程提交了新内容,执行此操作会丢失这些新内容。所以务必在执行前确认远程分支没有新增的提交。
- 如果担心强制推送的风险,可以先创建一个临时分支备份远程当前状态,再进行推送:
git checkout -b backup-origin-main origin/main
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

