git 后悔药

git 后悔药_第1张图片

前言

自上而下,撤销可以分为从远程库撤销,从本地库撤销,从暂存库撤销。
例子:代码已经提交了三个记录到远程库,分别对应了记录1,内容1,记录2,内容2,记录3,内容3. 现在应该写4,但是不小心写了5并且还提交了。
git 后悔药_第2张图片
这个时候肯定要撤销的。
步骤:
1、先本地撤销:

git reset [--soft | --mixed | --hard --keep] [HEAD|版本号]

2、然后推送

git pull origin master
解决冲突
git push origin master

git 后悔药_第3张图片
PS: 提交记录3里面是内容3,所以这是我错误提交记录前最新的版本,reset到这个版本。
git 后悔药_第4张图片
撤销模式说明:

四种模式在撤销回滚时,都会让HEAD指针改变指向到指定版本。

Soft:回滚代码到指定版本时,工作区文件不会做改变,相较于指定版本多出的更新将会被暂存等待提交
Mixed:回滚代码到指定版本时,工作区文件不会有改动,但是暂存会被清空
Hard:回滚到指定版本时,工作区内容会回滚到指定版本,暂存也会被清空(慎重,未提交的代码有丢失风险)
Keep:回滚到指定版本时,工作区内容会回滚到指定版本,暂存区未提交内容会保存

一般选择mixed
git 后悔药_第5张图片
修改为正确内容4
在这里插入图片描述
pull以下,会发现有冲突,解决冲突,选择本地的代码,然后正常push就可以了
我这里前面操作过了,所以正确内容为6,错误内容为7.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
git 后悔药_第6张图片

你可能感兴趣的:(git)