我搞砸了我的应用程序并且做了一个
git checkout <commit number>
回到我想去的地方。
当我执行git状态时,它说
Your branch is behind 'origin/master' by 5 commits, and can be fast-forwarded.
我想我已经在最近一次提交的第5天了。有没有办法让我最近一次提交我的第五次?几乎要覆盖或丢弃我前四次提交的所有内容?
更新。
我做了
git reset --hard <commit number>
但是如何推送到我的存储库?它说......
To prevent you from losing history, non-fast-forward updates were rejected
我不想执行合并,我非常想要消除我最新的4次提交
感谢
答案 0 :(得分:4)
您始终可以使用-f
选项强制推送:
git push -f origin master
但当然要小心,因为会破坏历史记录。
同时确保同时指定远程和分支名称,因为没有它,默认情况下git会尝试强制将所有分支推送到给定(或上游)远程。
答案 1 :(得分:1)
git checkout ORIG_HEAD
应该让您回到最近结账后的位置。
如果这没有帮助,您还可以查看git reflog
。它会显示你最近的rebase,checkout等列表,你可以找到你想要回复的提交的SHA。
答案 2 :(得分:1)
git reset --hard <commit number>