有时候,我们可能发现把本地代码push到中央仓库的某一个commit不对,处理方法具体分以下两个部分进行讨论
如果只是出错在你的branch上面,那么只需要在本地把自己写错的commit修改或者删除,然后在push到你的远程分支就可以,但是这样会导致的一个问题是:
由于你在本地对已经存在的commit进行了修改,就会导致,远程仓库的仓库,包含了本地没有的commit,会push失败。但是这个分支又是你自己的代码,没有你同事的代码,那么你就不用pull一下远程的分支了,而是选择强制push:
git push origin master -f
-f 是 -force缩写,
这样就把本地修改了远程分支的代码。
如果是这种情况,上述方法就不能实施了,因为你不知道你的同事是否已经往master里面提交了新的代码,上述操作就会覆盖掉同事的push。在这种情况下:
我们只能退一步,增加一个新的提交,把之前提交出错的代码进行修改。然后在提交到远程仓库。
现在是这样的,我们新增了一行代码,然后提交,
然后又把那一行代码删了,
然后继续提交,查看下log
现在我们需要恢复到删除前的代码上做修改
运行结果显示:上面这一行命令新增了一次commit,它的内容和上一次commit的内容是相反的,这样从而达到撤销的效果。
打开test.js看下内容
原文:https://www.cnblogs.com/fe-linjin/p/10861193.html