git 撤销本地修改与回退版本
1. 使用 git checkout
撤销本地修改
即放弃对本地已修改但尚未提交的文件的修改,还原其到未修改前的状态。
注意: 已 add/ commit 的文件不适用个方法,应该用本文提到的第二种方法。
命令如下:
1 |
|
2.使用 git reset 回退项目版本
可以回退到任意已经提交过的版本。已 add / commit 但未 push 的文件也适用。
命令如下:
1 |
|
commit-hashcode是某个 commit 的哈希值,可以用 git log 查看。
因此一般用法是先用 Git log 查看具体commit的哈希值,然后 reset 到那个版本。
说明:
这两个命令都不会对新增文件起作用。因为新增的文件是还未加到 git 的记录里面的,即属于未被 tracked 的状态,所以撤销修改和回退均对其不影响。我们直接手动删除文件就行了。
idea中如何操作
在idea中英文为 reset Head操作按钮,中文为 重置 Head按钮。
mixed
mixed 默认方式,只保留源码,回退commit和index信息
回退之后如下,文件也显示未加入 git 管理
soft
soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit。
hard
hard:彻底回退,本地源码也会变成上一个版本内容
这种方式回退之后,上一次提交的代码也就没有了。
写上commit id,比如 有提交A 提交B, A早于B, 如果不想要B,要填A的commit id。
git 撤销本地修改与回退版本
http://hanqichuan.com/2019/07/23/git/git 撤销本地修改与回退版本/