很形象的比喻就是时光机
git status //查看仓库文件的状态,是否添加和是否提交
//当你修改了某个文件但是没有提交到仓库时,可以查看两个文件的区别
git diff test.txt
//会给出两次修改的区别
//然后你在查看你到底改了些什么东西,再决定是否提交
版本回退
//查看命令的log
git log
//可以查看之前提交的记录,你会看到每次提交都会有你自己填写的注释
//或者你可以加一个
git log --pretty=oneline//可以仅仅显示版本号与注释
关于版本号,每次都不会一样,git是把每次提交都串成一条时间线
//发动时光机,回到上一个提交版本
git reset --hard HEAD^
//上两个版本
git reset --hard HEAD^^
//上一万个版本
git reset --hard HEAD~10000//数字越大说不定有彩蛋哦
其实,只要你知道版本号,你可以访问任意的任意门,切换到任意的版本,但是友情提示,当你首次使用版本回退时,打开的git log的时候,先不要关闭,不然万一你反悔了,还可以查到之前的版本号进行穿梭,不然当你回退以后,在使用git log命令后,是不会显示上个版本的版本号的哦:p
git reset --hard 6e58//仅仅版本号的前几位即可
实质,就是使用了HEAD的指针,指向各个版本,而HEAD指针也就是我们说的当前版本,啦啦啦:p
然而,我知道会有很多人会版本回退后,会后悔回到这个老版本,想回到回退之前,但是发现已经无法找到其版本号了(比如关闭了git log窗口或者直接关机了),在git里面,总是会有后悔药吃的:
git reflog
//记录你的每次命令,哈哈,你会发现版本号很醒目的出现在行首,使用git reset --hard 887da 来穿越时空吧!:p