Git撤销修改
一、撤销修改(git add/rm 之前)
git checkout -- * //是撤销从上次提交之后所做的所有修改 git checkout -- filaname //是撤销从上次提交之后的单个文件的修改
二、git add/rm 之后,还未git commit
情况一:
从暂存区撤出
git reset HEAD <file> //reset 某个文件 git reset HEAD . //reset 所有
情况二:
如果是 git rm 的文件,需要执行下面的,把它撤回来,add 的文件不能用(用了会撤回修改,如果想撤回修改前的,也可以用下面的命令)
git checkout -- file_name //注:如果执行 git checkout -- . 则会把之前add 更改的文件也给撤回了
三、撤销修改 git commit -m "" 、还未执行git push
1. 找到上次git commit的 id,找到你想撤销的commit_id
git log //查看日志
2. 完成撤销,同时将代码恢复到前一commit_id 对应的版本
git reset --hard commit_id //执行撤销
注:不保留commit 之前修改的代码,reset之后,代码回滚到上个版本
3.完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改。
git reset commit_id //注释
注:保留commit之前修改的代码,撤销后,代码是修改后的状态,还能继续修改
四、对于已经push的版本,进行回退
1、第一步:
git reset --hard 版本号 //本地回退到指定的版本
2、第二步:
git push -f origin dev //将远程的也回退到指定版本