【问题标题】:Git push after reset重置后的Git推送
【发布时间】:2018-08-13 08:02:18
【问题描述】:

我提交了一些不必要的代码,所以我使用了: git reset HEAD~

我检查了文件并尝试推送我的最后一次提交(这是正确的)。但是,我收到错误:error: failed to push some refs to 'git@github.com:MyProject/MyProject.git' hint: Updates were rejected because the tip of your current branch is behind 这可能是因为提交没有正确恢复,因为当我执行 git pull 时,提交又回来了。 如何正确还原此提交?

其他信息:git status 给我:

Your branch is behind 'origin/Mybranch' by 1 commit, and can be fast-forwarded.

【问题讨论】:

标签: git git-push git-pull git-reset


【解决方案1】:

如果您希望还原最后一次提交,请使用git revert HEAD; git push。这将创建一个还原提交,该提交被推送到当前头部的顶部。

如果您希望删除最后一次提交,请使用git reset --hard HEAD^; git push --force。 git 保护您不重写历史记录,因此需要强制推送以删除远程中已经存在的提交。

【讨论】:

  • 但要小心git reset --hard!还原是保存方式。
  • 如果合并,还原也可能会导致问题。
  • 这里的关键是git push --force。小心,这是一个危险的操作。日常使用完全没问题,只要了解它在做什么
猜你喜欢
  • 2020-10-14
  • 2019-07-30
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 2015-07-07
  • 2021-05-20
相关资源
最近更新 更多