如果你在开发的时候,发现修改错误,想直接放弃自己的修改,或者从远程代码重新下载一份覆盖自己的代码,除了直接重新 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。
您的赞助将会支持作者创作及本站运维
发表评论