Git撤销修改的内容

1. 查看提交历史记录
  git log
2. 查看当前文件状态
  git status

一、未add加入缓存区

1. 放弃单个文件修改内容
  git checkout -- filepathname
  如:git checkout -- readme.md 
2. 放弃所有修改的内容
  git checkout . 

二、已add加入缓存区

1. 放弃指定文件内容的缓存
  git reset HEAD filepathname
2. 放弃所有文件内容的缓存
  git reset HEAD . 

该命令只是清除git对于文件修改的缓存,相当于撤销了git add的操作,所以本地的文件并不会删除,只是回到了(一)中的未加入缓存状态,如果删除文件,再使用(一)中的命令,放弃本地的修改

三、已经git commit提交

1. 回到上一次commit的状态(只撤销commit,保留工作空间代码)
  git reset --soft HEAD~1
2. 回退到任意版本(如:想要撤销第二次的commit,commitid则是第一次的commitId,
   就是将reset一下HEAD,指向第一次的commit)
  git reset --hard  commitid

四、已经push到远程仓库

1. git log --pretty=oneline 显示简洁日志
2. git reset --hard 提交id  恢复到当前版本id的内容
3. git push -f 强制推送至远程分支(因为此时版本低于远程分支,所以需要强推)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。