Git撤销工作区修改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git撤销工作区修改相关的知识,希望对你有一定的参考价值。

参考技术A 命令 git checkout -- readme.txt 意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

总之,就是让这个文件回到最近一次git commit或git add时的状态。

git checkout -- file 命令中的 -- 很重要,没有 -- ,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到 git checkout 命令。

现在假定是凌晨3点,你不但写了一些胡话,还git add到暂存区了:

$ git status

Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:

$ git checkout -- readme.txt

$ git status

nothing to commit (working directory clean)```

现在,假设你不但改错了东西,还从暂存区提交到了版本库,怎么办呢?还记得 版本回退 一节吗?可以回退到上一个版本。不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。还记得Git是分布式版本控制系统吗?我们后面会讲到远程版本库,一旦你把“stupid boss”提交推送到远程版本库,你就真的惨了……

本文转自:廖大神的官方网站
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000

git撤销修改及版本回退

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,使用git reset --hard HEAD^(回退到上一个版本)或git reset --hard commit id(版本号) (回退到某个版本),不过前提是没有推送到远程库。

以上是关于Git撤销工作区修改的主要内容,如果未能解决你的问题,请参考以下文章

git 撤销修改

git之撤销修改

Git命令——撤销修改

Git 撤销修改

git --- 撤销修改

git 版本撤销,回退等