git放弃本地修改

如果你在开发的时候,发现修改错误,想直接放弃自己的修改,或者从远程代码重新下载一份覆盖自己的代码,除了直接重新 clone 一份之外,还有如下方法:

未使用 git add 暂存代码

git checkout -- <filenme>
// 例如:
git checkout -- README.md

不要忘记中间的“–”,不然就会检出分支。放弃所有文件修改可以用:

git checkout .

此命令用来放弃所有未暂存(Unstaged),就是还没有“git add”的修改。内容修改与整个文件都会删除,但是此不会删除刚新建的文件,因为刚新建的文件还没已有加入到 git 的管理系统中(Untracked),这种git管不着,自己手动删除就好了。

已经使用 git add 暂存代码

git reset HEAD <filenme>
// 例如:
git reset HEAD README.md

放弃所有暂存文件:

git reset HEAD .

该命令可以撤销暂存,相当于撤销“git add”,执行后本地修改不会消失,而是回到“未暂存”状态,这时候就可以用上面提到的“git checkout — ”放弃本地修改。

已经使用 git commit 提交代码

git reset --hard HEAD^

该命令会回滚到上一个commit。
也可以回滚到任意一个commit:

git reset --hard <commitid>

可以使用“git log”查看commit ID。

您的赞助将会支持作者创作及本站运维

发表评论


TOP