版本回退
每次commit都会又一个存档,加入你误删了文件或者把文件该乱了,你可以回到某一次提交的状态,然后从哪儿重新工作而不至于从0重新开始;
我们回顾一下readme.txt文件我们已经提交两次了(第一次:添加;第二次:修改);可是我们怎么记得住每次修改了什么呢?不用着急,可以通过:
Git log
查看每次修改的内容
我们也可以在Git log后添加”–prety=oneline”参数
git log --pretty=oneline
这里需要解释一下commit id;SVN等版本控制commit id是1,2….等数字,而Git是一串字符数字,这是由于分布式系统同时多个人在同一个版本库里工作,如果用1,2,。。。数字作为id,可能发生冲突;
在Git中head表示当前版本,head^表示上一个版本,head^^表示上上个版本 ,前100个版本那不是head^^^….,当然不是可以写成这样:head~100,head~2
Git reset -hard head^
将回退到上一次版本,仓库中文件内容将变成上一次提交后的内容;除了打开仓库文件查看是否回退到上一次外,还可以通过
cat 文件名
查看文件内容
回到版本回退前的版本
当我们回到之前的版本,运行Git log命令查看,将发现当前版本已经变成回退到的版本,回退前的版本到到现在的版本已经没有了。但是只要知道其版本的commit id就可以通过:
Git reset --hard id
回到那个版本。但问题来怎么怎么获取commit id ???????????????????
git reflog
可以通过该命令查看命令记录,然后根据记录行前的commit id回到指定版本
Git reset --hard commitId