Git 各种情况的撤销更改操作:

2020-04-16  本文已影响0人  红豆红了

已亲测,如有问题可留言-----------------------------------------------

1、修改但没有add的文件,进行丢弃:执行 git checkout ./   

2、已经add的文件,进行丢弃:执行git restore —staged  修改的文件(路径)  && git checkout ./   或者 git rm --cached xxx文件名xxx git rm 

3、已经commit的文件,进行丢弃:执行 git reset --soft HEAD^ && git restore —staged  修改的文件(路径)  && git checkout ./

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

--mixed 

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft  

不删除工作空间改动代码,撤销commit,不撤销git add . 

--hard

删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

如果commit注释写错了,只是想改一下注释,只需要:git commit —amend,此时会进入默认vim编辑器,修改注释完毕后保存就好了。

git log 查看所有的commit提交记录;

Git reflog 查看提交记录,包含提交分支、撤回和修改的提交记录,比git log更全面;

git show 查看提交的详情;

4、已经push到远程的,进行丢弃或回退:

执行 git reset --soft HEAD^ && git restore —staged  修改的文件(路径)  && git checkout ./

注:当然每种丢弃或者撤回还有其他不同情况和方法,大家可以根据自己遇到的具体情况进行方法选择

上一篇 下一篇

猜你喜欢

热点阅读