【问题标题】:How do I fix incorrect pushed commit in Git?如何修复 Git 中不正确的推送提交?
【发布时间】:2012-05-01 23:49:37
【问题描述】:

我太笨了,我提交并推送到服务器,发现提交消息是错误的。所以我使用 --amend 来修复评论。但是现在我不能再推送到服务器了:S

怎么办?

【问题讨论】:

标签: git git-push git-commit git-amend


【解决方案1】:

您需要使用 -f 强制推送,因为您正在重写历史记录:

git push -f origin master

【讨论】:

  • 而且它根本不会搞砸?
  • 你想推还是不推? :) 如果要重写历史记录,则必须使用 -f/--force。提交时使用 --amend 正在重写历史,如果您只更改提交消息,那么它应该是完全安全的。
  • @Mathias:是的,这是一个危险的操作。例如,如果有人/其他东西同时拉动,当分支更改为指向其他东西时,他们会遇到问题。如果您确定错误提交所在的唯一存储库是您的和服务器,那么请务必使用-f 强制...
  • 我是唯一一个处理这个代表的人,所以没关系。如果其他人在为它工作,我可以告诉他们获取,对吗?
  • 错了!。如果其他用户在您强制之前已经拉取了代码,这意味着他们在您强制将代码返回存储库后无法提交或获取代码而遇到麻烦。这是因为强制推送后 SHA1 哈希值发生了变化。但另一个参考了系统中不再存在的旧 SHA1 哈希。对于您的存储库来说可能没问题,但在必须与其他人合作的一般存储库中做这不是最佳实践。
猜你喜欢
  • 2010-10-02
  • 2020-11-27
  • 2013-07-01
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 2013-09-06
  • 2013-02-22
  • 2013-12-17
相关资源
最近更新 更多