打入补丁A,COMMIT后PUSH到服务器,这时候HEAD是节点1-A。
Reset后,打入正确补丁,PUSH -F到服务器,就会把刚才HEAD的节点1-A删除掉,变成2-A了。
问题是:如果有人在你节点1-A的时候PULL了,然后你把1-A删除换成了2-A,下次再PULL的时候,因为他是有节点1-A的,那就会出现冲突。
最正确的解决方法是,在1-A的节点上,再打一次补丁,变成1-B,然后用rebase -i 把两个commit merge到一起就可以了。
不能,之前的a已经push到服务器了。