1、未执行git add . 缓存代码时:
a、指定放弃某一文件修改内容:
git checkout -- [文件路径] //如图一
b、全部放弃修改文件:
git checkout .
【注意】但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。
图一
2、执行git add . 缓存了代码时:
a、放弃指定文件的缓存:
git reset HEAD [文件路径] //eg: git reset HEAD readme.md
b、放弃所以的缓存:
git reset HEAD .
3、已经用 git commit 提交了代码。
a、回退到上一次commit的状态:
git reset --hard HEAD^
b、回退到任意版本:
git reset --hard [版本号] //eg:git reset --hard a53b892a32b16a93850c121db0f08967143e2707(图三)
//可以用git log查看git的提交历史,可以看出现在的状态在 commitid 为e61b67...的提交上(有 HEAD -> master 标记(如图二)
图二
图三