git 版本回退

参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000


之前有过对git和github的学习,不过并不深,这几天看了廖学锋的git教程,觉得有所收获,记下这篇博文

####################################################

前期工作


在C盘新建一个文件夹git,进入此文件夹,新建一个readme.txt文件,添加内容为

Git is a distributed version and control system.
Git is free software distributed under the GPL


保存退出后,创建版本库,提交此文件

mkdir git
cd git
git init

git add readme.txt
git commit -m "append GPL"


git 版本回退_第1张图片


git 版本回退_第2张图片


git 版本回退_第3张图片



###################################################


继续添加文本,修改readme.txt文件,加入:

Git is a version control system.
Git is free software

git add readme.txt
git commit "add distributed"

通过git命令git log可以查看之前版本:

git log

git 版本回退_第4张图片


有时候修改次数很多,导致版本数量大,输出信息太多,加上--pretty=oneline参数可以简化信息:

git log --pretty=oneline



此处的第一列的信息为commit id(版本号)

在Git中,用HEAD表示当前版本,也就是最新的提交f7f259311134efdda5e4aaf259f63ae3a7a9580b

上一个版本是HEAD^,上上一个版本就是HEAD^^,上上上一个版本就是HEAD^^^(或HEAD~3),依次类推


现在要把当前版本“add distributed”回退到上一个版本"append GPL",可以使用Git命令git reset

git reset --hard HEAD^

git 版本回退_第5张图片


使用git log 可以看出最新的版本add distributed已经消失了,如果想返回到最新的版本,有两种方法:

1.如果上面的命令行窗口没有被关掉,可以在上面找到add distributed的版本号,就可以指定回到未来的某个版本:

git reset --hard f7f259311134efdda5e4aaf259f63ae3a7a9580b

git 版本回退_第6张图片


2.如果命令行窗口已经关掉,你也记不起来最新版本的版本号。Git提供了一个命令git reflog用来记录每一次命令:

git reflog


git 版本回退_第7张图片


#####################################################


git log 可以查看提交历史

git reflog可以查看命令历史


你可能感兴趣的:(git)