git, how to overwrite commits
我把应用程序搞砸了,结果做了一个
1 | git checkout <commit number> |
回到我想去的地方。
当我做Git状态时,它说
1 | Your branch is behind 'origin/master' by 5 commits, and can be fast-forwarded. |
号
我想我最近一次的承诺是在5号。有没有办法让我的第五个从最近的承诺我最近的一个?几乎可以覆盖或放弃我前四次提交的所有内容?
更新。
我做了一个
1 | git reset --hard <commit number> |
但是我怎样才能推送到我的存储库呢?上面写着…
1 | To prevent you from losing history, non-fast-forward updates were rejected |
。
我不想执行合并,我很想清除最近4次提交
谢谢
您可以使用
1 | git push -f origin master |
但当然要小心,因为这会毁了历史。
还要确保同时指定远程和分支名称,因为没有它,默认情况下,Git将尝试强制将所有分支推送到给定(或上游)远程。
1 | git reset --hard <commit number> |
号
1 | git checkout ORIG_HEAD |
应该能让你在最近一次结账后回到原来的位置。
如果没有帮助,您也可以查看