1. 未进行任何提交,即文件更改在工作区

     # filename 对应进行操作的文件名
    git checkout -- filename
  2. 已用git add 命令提交,即文件更改在暂存区
     # 舍弃暂存区的修改,即回到第1种情况
    2 git reset HEAD filename
    3 # 舍弃所有更改
    4 git reset --hard HEAD
  3. 已用git add 和git commit 提交,即文件更改在分支
    1 #完全舍弃最后一次更改
    2 git reset --hard HEAD^
    3 #舍弃更改至缓存区,即回到第2种情况
    4 git reset --soft HEAD^
    5 #舍弃更改至工作区,即回到第1种情况
    6 git reset HEAD^ 即 git reset --mixed HEAD^

    更新:

  4. 如果需要删除文件
     git rm filename #删除所有
    git rm --cached filename #仅在工作区保留

最新文章

  1. CentOS 7 安装字体库 & 中文字体
  2. 设计模式之Composite(组合)模式
  3. HDU 3555 Bomb 数位dp
  4. 又遇BUG-ORA-01148:数据文件忽然变为recover状态
  5. linux文件系统-基本磁盘2
  6. Html5 js FileReader接口
  7. 项目FAQ
  8. 完美PNG半透明窗体解决方案
  9. visualvm监控jvm及远程jvm监控方法(转)
  10. DSP TMS320C6000基础学习(6)—— gel文件
  11. Oracle安装配置流程
  12. NEU OJ 1644 Median I
  13. Unity中使用扩展方法解决foreach导致的GC
  14. CentOS7使用firewalld防火墙配置端口
  15. .NET中低版本程序调用高版本DLL
  16. 名词-JS
  17. oracle数据库更改字符集
  18. Windows网络通信(二):socket异步编程
  19. 2017年9月22日 关于JS数组
  20. Bootstrap Table的使用小结

热门文章

  1. html的textarea默认文案实现换行
  2. windows 下 wamp php单元测试工具PHPUnit的安装
  3. NDK环境搭建方法2
  4. ORM之查询
  5. Nginx 功能
  6. oracle中job定时任务96
  7. 并发编程中Future和Callable使用
  8. 微信小程序开发——以简单易懂的浏览器页面栈理解小程序的页面路由
  9. 写一写关于python开发面试的常遇到的问题以及解答吧,持续更新——看心情
  10. awk参数解析