本篇将总结学习各种版本管理操作
1、版本回退
>>首先查看文件被改动并提交的版本有哪几个
可以看到每个版本以及对应的commit id
>>查看当前1.txt文件中的内容
查看的命令是:cat 文件名
>>回到上一版本
git reset --hard HEAD^
>>查看当前版本库状态:
可以看到最后一次版本更改已经不在了
>>后悔了,想要恢复最新版,怎么办?
要借助commit id ,commit id 只需要输入前几位即可
可以看到已经恢复到回退之前了
>>如果commit id 没记住怎么办?
查看所有历史id:git reflog
想回到哪个版本都可以,想恢复哪个版本都可以:git reset --hard commit_id
2、撤销修改
>>如果修改了文件,还没有执行任何命令,想删除最新的修改
要把修改的东西撤回,第一种:打开文件,手动删除
第二种,使用命令 git checkout -- 1.txt
注意两个--之后有空格哦~
这种情况下,你把修改删除,就不可能恢复了
>>如果修改了文件,执行了add命令,想要删除最新的修改
那就把版本恢复到最新版(即执行add之前),然后再按照上一种情况删除就行!!
先 git reset HEAD 1.txt
再 git checkout -- 1.txt
3、删除/恢复文件
>>新建文件2.txt
ps:如果你新建了文件,从来没有放入缓存add,也没有提交commit,你在本地删除,想要恢复,那只能去电脑的回收站看看~
所以在git中,一切行为必须提交commit过,你才能恢复!!!
>>提交新增文件,并且在本地删除:
>>恢复文件
ps: git checkout 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
>>在版本库中删除文件,并提交删除行为
这种情况下,即使在本地也删除了文件,想要恢复文件就回到还没删除文件的版本就行了~
总结:
git reset --hard HEAD 版本库回到最新版
git reset --hard HEAD^ 版本库回到上一版
git reset --hard commit_id 依据id可以去到任何一个版本
git reflog 得到所有历史版本id
git checkout -- 文件名 版本库文件覆盖本地工作区文件
git rm 删除版本库中某个文件