1、gut reset --op 版本号
软restet(soft模式)(默认):
指令:git reset 版本号
说明:只会删除版本号之前的提交信息,影响的只是git log指令看到的东西,而代码不会做任何修改,在该版本号(指令中的版本号)之后修改提交的代码将会进入当前的工作空间(因为该版本号之后的提交信息已经被删除)。应用场景可以理解为我们只想撤销一些提交的历史commit的提示信息,不会影响我们的代码。
硬reset(hard模式)(这个模式危险,慎用,会将版本号之后的提交的代码和提交信息删除):
指令:git reset --hard 版本号
说明:会将工作空间的代码回退到历史版本,并且也会删除该历史版本之后的的提交信息(也就不能切换到这些被删除的提交记录的版本)
–soft – 缓存区和工作目录都不会被改变
–mixed – 默认选项。缓存区和你指定的提交同步,但工作目录不受影响
–hard – 缓存区和工作目录都同步到你指定的提交
2、revert(建议使用该方式进行版本回退):
指令:git revert 版本号
说明:会根据该版本号增加删除的内容进行反向操作(等于恢复到该版本号的上一个版本号的工作空间),然后将本次操作也作为一次commit(会提示输入commit信息)进行git log记录。
使用方式:将自己想要回退到的版本号的下一次的commit的版本号进行git revert
举例:现有版本号1,2,3
revert 3=2(产生4)
revert 4=3(产生5)
规律:revert就是回到该版本的上次提交的工作空间。
3、当远程分支的commit log与本地的commit log不一致时,就会push失败,可以使用git push -f origin master指令强制将本地分支对远程分支进行覆盖。
4、当远程分支与当前分支不一致时可以使用:git pull 远程分支名 本地分之名 进行更新本地内容
5、当我们修改了工作空间的内容没有进行提交时我们可以使用idea 的rollback操作