有三种情况:
1.没有执行 git add的:可以用命令 ,
git checkout -- filepathname(eg: git checkout -- test.md)
如果是放弃所有,直接执行
git checkout .
此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。
2.已经执行git add缓存了的:可以用命令
git reset HEAD filepathname (比如: git reset HEAD readme.md)
同样放弃所有就是
git reset HEAD .
执行完此命令后,文件状态就回归到第一种情况了,此时再按照情况1处理。
3.已经用 git commit 提交了的:可以用命令
git reset --hard HEAD^
回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard commitid
本文详细介绍了如何使用Git撤销不同阶段的改动。对于未添加到暂存区的修改,可以使用`git checkout -- filepathname`来放弃;已添加到暂存区但未提交的,用`git reset HEAD filepathname`撤销;已提交的改动,通过`git reset --hard HEAD^`回退至上一版本。了解这些命令能帮助你在Git管理中更自如地控制代码状态。
3万+

被折叠的 条评论
为什么被折叠?



