(四)版本回退

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Leslie_LN/article/details/81513799

版本回退

每次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

猜你喜欢

转载自blog.csdn.net/Leslie_LN/article/details/81513799