reset | revert 使用场景:
reset | revert 使用场景:
git reset [commitId ] ||备注:此id对应修改会保留 ; reset 后修改保留至本地,处于modified状态,若不提交,则服务器提交记录依然存在,若提交,可以将reset后的结果推送到服务器
git reset --hard [commitId ] ||备注: reset 后本地所有修改均回退(注意是所有修改,而不仅仅是reset id之后的修改记录),因此此命令操作一定要慎重,除非想要放弃所有修改记录,否则非常不建议使用 --hard
reset | revert 后的提交 ||备注: 当git push origin branch 无法生效时, 加 -f : git push origin branch -f
恢复原状 : 若只是reset |revert 后在本地测试,不将其提交至服务器,测试后想要回复服务器的代码状态,使用 git pull 即可回复原本状态
git revert [commit] 后出现HEAD 和origin指针指向不同commitid,导致本地和远程服务器的代码不一致(如下图),解决方式如下:
-
提交revert记录: git push origin [branch]
-
放弃revert记录: git reset [origin --commitID] #即reset上一笔commitID