Git版本回退常用操作
1.已提交,没有push
1)git reset --soft $版本号 //撤销commit
2)git reset --mixed $版本号 //撤销commit和add两个动作
(1)git reset --soft命令:
当在本地已经add+commit操作的时候,使用该命令可以回退到相应的版本号时的状态,但add的记录还是在的,可再次commit。
–本地的commit记录已经不见了:
–可再次commit:
(2)git reset --mixed命令:
使用该命令后,需要再次进行add操作:
2.已提交,并且push
使用这两个命令跟上面两个命令的区别就是:
比如本地文件改了,使用上面的命令后,本地还是修改后的;使用后面两个命令,本地则变成reset到的版本的了。
1)git reset --hard $版本号 //撤销并舍弃版本号之后的提交记录。使用需要谨慎。
2)git revert $要移除的版本号 //撤销。但是保留了提交记录。**并且他是移除指定的提交**。
(1)git reset --hard命令:
版本回退之后直接没有提交的记录了,git日志也找不到:
注意:
在使用该命令后,想把本地push到远程的时候,会发生本地的分支版本落后于远程的错误,需要在push后面加上-f(使用git revert则不会有该问题)
(2)git revert 命令:
版本回退后会生成新的版本:
注意:在revert的时候,指定的版本号是要移除掉的版本号,跟另外三个命令有所区别,并且,在revert的时候需要输入描述,然后会更新一条提交记录:
使用git时密码输错了怎么办?
解决办法:
1.打开控制面板(快捷打开win+R,输入control)
2.点击打开用户账户
3.点击凭据管理器
4.点击windows凭据删除你的git凭据即可。
怎么查看提交记录的版本号?
git log //查看当前的提交记录
git reflog //如果回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?可以用该命令,它记录每一次git命令