一、 版本回退
一) git reset1824361826056454146_0.6445908241519842
适用场景:如果想恢复到之前某个提交的版本,并且那个版本之后所有提交的版本都不要了
1、查看版本
查看提交的历史,来确定想要回退到那个版本1824361826056454146_0.8950929125394624
git log
2、回退到上一个版本1824361826056454146_0.2372764929190121
Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^
git reset --hard HEAD^
撤销输入数字n条commit记录1824361826056454146_0.8002001146149893
git reset HEAD~数字n
3、回退到制定版本
git reset --hard commit_id1824361826056454146_0.5621145365312838
commit_id为上图所示的版本号
git reset比较常用三种模式:
git reset --soft 只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变1824361826056454146_0.5592287537127372
git reset --mixed (默认模式)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变
git reset --hard 将HEAD指向指定的提交,暂存区跟工作区都会改变
二) git revert1824361826056454146_0.2833552697099555
适用场景:如果想撤销之前的某一版本,但是又想保留该目标版本后面的其他版本
1、查看版本
查看提交的历史,来确定想要回退到那个版本1824361826056454146_0.8547091621116958
git log
2、撤销提交
git revert commit_id1824361826056454146_0.544800174072517
补充:revert命令默认是提交的,但是 git revert -n | --no-commit [commit-id]:no-commit选项不会自动提交需要手动提交。
三) git restore
1、将不在暂存区的文件撤销更改1824361826056454146_0.853208249372627
git restore [文件名]
2、将提交到暂存区的文件恢复到工作区
git restore --staged [文件名]1824361826056454146_0.29846061647571975
二、 撤销修改
1、撤销对单个文件的修改
git checkout -- [文件名]1824361826056454146_0.016381927878463598
2、撤销对所有文件的修改
git checkout -- .
1和2是在工作区的修改撤销,直接撤销修改的文件内容1824361826056454146_0.659352645563565
3、撤销上一次的提交
git reset --soft HEAD^
4、撤销对已经暂存(staged)的文件的修改1824361826056454146_0.10496136087050334
git reset HEAD [文件名]
5、撤销所有本地的修改,回到远程仓库的状态
git reset --hard origin/[分支名]