git - 如何发现已推送的提交被修改然后再次推送?
问题描述
我一直都知道,如果我已经推送了一个提交,我永远不应该更改它的哈希(重新设置它,--修改它)然后再次推送它,因为你最终会得到(可能)两个相同的提交,但是不同的哈希。
如果我从那个遥控器上拉出来,我怎么可能知道发生了这样的事情呢?有两个具有不同哈希值的相同提交有什么问题?
解决方案
要重新推送更改的提交 - 您必须指定-f
选项。这意味着改变历史(你是说'我已经推送的这个提交 - 我希望它在过去被删除')。
这对于同时参与进来的任何人来说都是一件坏事。他们的下一次拉或推将导致冲突并需要合并 - 所以 git 会告诉他们。
换句话说,git push -f
允许:
- 如果你是唯一的开发者
- 或者如果您在意识到错误后很快就这样做了。