git remove 在服务器上提交

标签 git git-reset

我在用 git 管理的项目中犯了一些错误:

在这里阅读了一些指南和一些帖子,我做了这个命令:

git reset --hard a77ec5f

其中提交 a77ec5f 是最后一个“好”提交

在此之后,文件就在我的本地副本中,但是如果我执行 git status:

$ git status
# On branch dev
# Your branch is behind 'origin/dev' by 4 commits, and can be fast-forwarded.
#
nothing to commit (working directory clean)

现在,我如何告诉服务器要删除我落后的 4 次提交? 谢谢

最佳答案

如果您的存储库已被其他人同步,那么您不应推送任何历史更改,除非您确定还没有人 pull 错误的更改。

要重写历史记录(危险),请在本地执行空提交 (git commit --allow-empty) 以将您的 HEAD 与远程 HEAD 分开,然后 push --force 重写服务器的历史。

关于git remove 在服务器上提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809200/

相关文章:

git - 如何在上次提交之前取消提交

git - 'git reset --hard HEAD~1' 和 'git reset --soft HEAD~1' 有什么区别?

git - 如何删除远程裸存储库分支上的提交?

git - 这是撤消 git 东西的好策略吗?

git - 在 rebase git branch 时更改时间戳

Xcode 4 : Update CFBundleVersion on each build using Git repo commit version

git - 如何在不妨碍我的团队的情况下重命名根项目文件夹?

Git 克隆挂起 - 有没有办法继续克隆?

git - 如何从分支中删除提交?

git - 撤消 git reset --hard origin/master