简单粗暴点,直接开始

一.撤销修改

第一种情况:只是在工作区作出了修改

现在我们在 readme 文件添加一些内容:社会我宝儿姐,人美路子野,溜门撬锁、闷棍埋人,样样精通。宝儿姐也是有威风凛凛、能喊出名字的招式的,那就是阿(A)威(V)十八式……
扯得有点远。。。。。。
在这里插入图片描述

添加完内容,用git status 查看一下:
在这里插入图片描述

Git提示我们可以通过

git checkout -- < file > 丢弃工作区的修改。
git checkout -- readme.txt

在这里插入图片描述

执行完git chekout -- readme.txt 命令之后,我宝儿姐已经没有了,刚刚的修改已经丢弃掉了。


第二种情况:工作区的修改,被add到了暂存区

重新在 readme 文件里面添加我宝儿姐的牛逼招式:阿威十八式。并且git add readme.txt
只进行git add 不要git commit
在这里插入图片描述

接着用git status 查看一下:
ddd

同样,Git会提示我们

git reset HEAD < file >可以把暂存区的修改撤销掉,重新放回到工作区

当我们用HEAD 时,表示仓库最新的版本,因为我们当前还没有 git commit,所以不是 HEAD^

git reset HEAD readme.txt

在这里插入图片描述

执行完git reset HEAD readme.txt之后,就把add到暂存区的修改回退到工作区了。
接着用git status查看一下,现在暂存区是干净的,工作区有修改。
ss

现在再把工作区的修改丢弃了。操作同第一种情况。即执行git checkout -- readme.txt
在这里插入图片描述
readme 文件里面,我宝儿姐的招式已经没有了。


第三种情况:commit到了仓库

直接git reset --hard HAED^ 回退到上一个版本


二.删除文件

首先添加一个 test 文件到仓库。
在这里插入图片描述

通过命令:rm test.txt 删除该文件。然后通过git status 查看状态
在这里插入图片描述
接下来
1.如果我们确定要从版本库删除这个 test 文件,那么就用命令:

git rm 删除文件,并且用git commit 提交

如图,这样 test 文件就已经从版本库成功删除了
在这里插入图片描述

2.如果我们只是误删了 test 文件,但是版本库里面还有该文件,所以要恢复到本地,就用命令:

git checkout -- test.txt

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。恢复的只是版本库里面最新版本,如果该文件有修改没有提交到版本库,那么你的这次修改就会丢失。

小结
1.只在工作区做了修改
#撤销工作区修改
git checkout -- <file>
2.工作区的修改add到了暂存区
#1.撤销暂存区的修改,重新放回工作区
git reset HEAD <file>

#2.撤销工作区修改
git checkout -- <file> 
3.commit到了仓库
#直接回退到上个版本
git reset --hard HAED^
4.删除文件
命令删除某个文件:rm test.txt
或者直接在资源管理器操作删除

然后有两种情况:
#1.确定从版本库删除
git rm test.txt

git commit -m "确定删除test"

#2.误删,这是在本地删除了,从版本库再恢复
git checkout -- test.txt
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐