前言
自上而下,撤销可以分为从远程库撤销,从本地库撤销,从暂存库撤销。
例子:代码已经提交了三个记录到远程库,分别对应了记录1,内容1,记录2,内容2,记录3,内容3. 现在应该写4,但是不小心写了5并且还提交了。
这个时候肯定要撤销的。
步骤:
1、先本地撤销:
java
git reset [--soft | --mixed | --hard --keep] [HEAD|版本号]
2、然后推送
java
git pull origin master
解决冲突
git push origin master
PS: 提交记录3里面是内容3,所以这是我错误提交记录前最新的版本,reset到这个版本。
撤销模式说明:
四种模式在撤销回滚时,都会让HEAD指针改变指向到指定版本。
java
Soft:回滚代码到指定版本时,工作区文件不会做改变,相较于指定版本多出的更新将会被暂存等待提交
Mixed:回滚代码到指定版本时,工作区文件不会有改动,但是暂存会被清空
Hard:回滚到指定版本时,工作区内容会回滚到指定版本,暂存也会被清空(慎重,未提交的代码有丢失风险)
Keep:回滚到指定版本时,工作区内容会回滚到指定版本,暂存区未提交内容会保存
一般选择mixed
修改为正确内容4
pull以下,会发现有冲突,解决冲突,选择本地的代码,然后正常push就可以了
我这里前面操作过了,所以正确内容为6,错误内容为7.