我搞砸了我的应用程序,最后做了一个
git checkout <commit number>
Run Code Online (Sandbox Code Playgroud)
回到我想去的地方。
当我做一个 git status 时,它说
Your branch is behind 'origin/master' by 5 commits, and can be fast-forwarded.
Run Code Online (Sandbox Code Playgroud)
我想我是最近一次提交的第 5 次。有没有办法让我最近提交的第 5 个提交成为我最近提交的第 5 个?几乎覆盖或丢弃我前四个提交中的所有内容?
更新。
我做了一个
git reset --hard <commit number>
Run Code Online (Sandbox Code Playgroud)
但是如何推送到我的存储库?它说...
To prevent you from losing history, non-fast-forward updates were rejected
Run Code Online (Sandbox Code Playgroud)
我不想执行合并,我非常想清除我最近的 4 次提交
谢谢
您始终可以使用以下-f选项强制推送:
git push -f origin master
Run Code Online (Sandbox Code Playgroud)
但当然要小心,因为这会毁掉历史。
还要确保指定远程和分支名称,因为没有它,默认情况下 git 将尝试强制将所有分支推送到给定(或上游)远程。