Git放弃本地修改

场景1.本地修改尚未提交到暂存区, 即本地代码修改还没有执行(git add),使用命令
git checkout --fileName
// 放弃全部修改:
git checkout .

场景2. 本地修改已经先提交暂存区,执行的git add,但没有提交git commit, 撤销缓存提交

// 放弃修改指定文件
  git reset HEAD filepathname 

// 放弃修改所有文件
git reset HEAD .

Note: 只是撤销缓存提交,本地代码修改尚未还原。

场景3. 已经git commit 提交,版本回退

// 回退到前一个版本
git reset --hard HEAD^

//回退到指定版本
 git reset --hard  commitid  

Note:

  1. HEAD表示当前版本, HEAD^表示上个版本, HEAD^^表示上上个版本
  2. commitid通过git log获取,直接使用版本号的前几个字符串即可。(git log --pretty=oneline 一行显示)
  3. 要重返未来,用git reflog查看命令历史,以便确定要回到未来的版本

参考:
廖雪峰 Git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,006评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,994评论 0 11
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,697评论 0 13
  • 昨天上午开始俩兄弟的精神明显比之前三天好很多,我就让他俩写拼音作业。我自己在旁收拾屋子。家里买了做馒头的自发粉,我...
    林间清风阅读 784评论 0 0
  • 中午和女朋友聊天,我才只知道今儿立春呢,还逗我回屋里,说是要“打春”。今天确实天气不错,难得一见的大晴天,阳...
    不在右边阅读 386评论 0 2