http://blog.csdn.net/th_gsb/article/details/50247305
http://blog.csdn.net/th_gsb/article/details/50247305
![](http://static.blog.csdn.net/images/category_icon.jpg)
版权声明:本文为博主原创文章,未经博主允许不得转载。
工作中,难免会遇到编写错误的情况。那如何能撤销修改,使得文件回到修改前的状态呢?下面我们开始讲解如何撤销修改。
【前言】
在讲解前,我们先要清楚撤销修改前,文件在Git中的状态:
1)只做本地修改,未git add
2)修改并git add
3)修改并git commit提交
4)修改并git commit,并且发送到了github
针对以上4种情况,我们看看如果做相应的撤销修改工作。
【撤销“本地修改未git add”的文件】
准备工作:我们先把ReadMe.txt文件内容修改一下,然后使用git status查看一下状态。
撤销步骤:
1)使用git checkout -- ReadMe.txt
2)使用git status查看一下状态,你会发现文件被修改的部分已经恢复到未修改之前了。
【撤销“修改并git add”的文件】
准备工作:我们先把ReadMe.txt文件内容修改一下,然后使用git add命令将修改添加到缓存,然后git status查看一下状态。
撤销步骤:
1)删除本地文件ReadMe.txt
2)使用git checkout -- ReadMe.txt
【撤销“修改并git commit提交”的文件】
准备工作:我们先把ReadMe.txt文件内容修改一下,然后使用git add和git commit提交修改,然后使用git log命令看一下提交记录。
撤销步骤:
1)使用git reset命令,可以撤销本地提交。由于HEAD表示当前版本,所以要恢复到上一个版本的话,在后面加一个“^”符号就可以了。
2)使用git log命令查看一下,应该是退回到上一个版本了
【撤销“修改并git commit,并且发送到了github”的文件】
准备工作:向readme.txt文件中填写我的名字缩写,然后提交并发送到github。使用git log命令查看一下提交历史记录:
撤销步骤:
1)我们通过git log可以看到上一次提交的id为df17865f......,那么我们使用git revert命令撤销本地提交(也可以用HEAD代替本次ID)
2)再使用git log命令查看一下
3)再看一下文件,acd572e5e那次提交确实被撤销了,但提交信息还在,这可能就是git revert和git reset的一个区别吧。
http://blog.csdn.net/hudashi/article/details/7664460
http://blog.csdn.net/hudashi/article/details/7664460
http://blog.csdn.net/hudashi/article/details/7664460
![](http://static.blog.csdn.net/images/category_icon.jpg)
commit3: add test3.c
commit2: add test2.c
commit1: add test1.c