简单粗暴点,直接开始
现在我们在 readme 文件添加一些内容:社会我宝儿姐,人美路子野,溜门撬锁、闷棍埋人,样样精通。宝儿姐也是有威风凛凛、能喊出名字的招式的,那就是阿(A)威(V)十八式……
扯得有点远。。。。。。
Git提示我们可以通过
git checkout -- < file >
丢弃工作区的修改。git checkout -- readme.txt
执行完git chekout -- readme.txt
命令之后,我宝儿姐已经没有了,刚刚的修改已经丢弃掉了。
重新在 readme 文件里面添加我宝儿姐的牛逼招式:阿威十八式。并且git add readme.txt
只进行git add
不要git commit
同样,Git会提示我们
当我们用HEAD
时,表示仓库最新的版本,因为我们当前还没有 git commit
,所以不是 HEAD^
git reset HEAD readme.txt
执行完git reset HEAD readme.txt
之后,就把add到暂存区的修改回退到工作区了。
接着用git status
查看一下,现在暂存区是干净的,工作区有修改。
现在再把工作区的修改丢弃了。操作同第一种情况。即执行git checkout -- readme.txt
在 readme 文件里面,我宝儿姐的招式已经没有了。
直接git reset --hard HAED^
回退到上一个版本
通过命令:rm test.txt
删除该文件。然后通过git status
查看状态
接下来
1.如果我们确定要从版本库删除这个 test 文件,那么就用命令:
git rm
删除文件,并且用git commit
提交2.如果我们只是误删了 test 文件,但是版本库里面还有该文件,所以要恢复到本地,就用命令:
git checkout -- test.txt
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。恢复的只是版本库里面最新版本,如果该文件有修改没有提交到版本库,那么你的这次修改就会丢失。
#撤销工作区修改
git checkout -- <file>
#1.撤销暂存区的修改,重新放回工作区
git reset HEAD <file>
#2.撤销工作区修改
git checkout -- <file>
#直接回退到上个版本
git reset --hard HAED^
命令删除某个文件:rm test.txt
或者直接在资源管理器操作删除
然后有两种情况:
#1.确定从版本库删除
git rm test.txt
git commit -m "确定删除test"
#2.误删,这是在本地删除了,从版本库再恢复
git checkout -- test.txt