1.放弃本地更改,未add,未commit
git checkout filename
注:与git checkout branch 区别
2.放弃已add未commit的更改
git reset HEAD filename ---------------只是撤销add 操作,本地修改不会丢失
3.放弃已经commit的修改
git reset --hard HEAD^ ----------------回到上次commit的状态
git reset --hard HEAD^^ ------------------回到前两次提交
git reset --hard commitid
4.放弃已经push的修改
1>git reset HEAD --------------------只是把HEAD指针向后移动
2>git revert commitID --------------------提交一个新的版本,将之前的版本覆盖当前的版本,版本会递增,不影响想要放弃的已push的修改,而revert之后的版本递增,但是push的内容还在,只是存在于上一个版本
git reflog -------------产看commit日志
git reset --hard commitid ---------------回到commitid
---------------------
作者:dreamgzd
来源:CSDN
原文:https://blog.csdn.net/qq_40719649/article/details/82458293
版权声明:本文为博主原创文章,转载请附上博文链接!
- 其他
- Git submodule 如何删除一个 submodule
- 解 git submodule 无映射路径的问题
- 删除分支
- git revert
- 基本命令
- git reset的三种模式
- ignore的使用
- git tag
- 用户相关
- 问题
- 重命名远程分支
- 注意事项
- GIT里设置大小写敏感
- 如何处理git每次提交都输入密码
- Git 工作流程
- 详细使用
- git 放弃更改
- 子模块儿
- 增加子模块儿
- 删除子模块儿
- 更新子模块儿
- 分支
- 分支(branch)操作
- git删除远程分支和本地分支
- 项目属于哪个分支
- 标签(tag)操作
- 命令
- branch
- remote
- clone
- tag
- log
- reflog
- diff
- reset
- merge
- push
- pull
- submodule
- 分支命名