学习使用Git(二)
跟着廖雪峰老师学Git https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
下面为学习笔记
先修改一下readme.txt的内容随便什么都行。
查看仓库当前的状态
git status
命令可以让我们时刻掌握仓库当前的状态,命令输出告诉我们,readme.txt被修改过了,但还没有准备提交的修改
git status
显示修改的部分
git diff
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,git status只能显示文件被修改但是不能显示修改的内容,git diff可以做到这一点,显示修改的部分
git diff
然后按照上一篇文章提到的add和commit分两步走进行提交,再利用git status查看状态发现显示
- On branch master
nothing to commit, working tree clean
Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working tree clean)的
每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。可以简单理解为保存其中的一个版本
查看历史版本
版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log
命令查看历史版本
如果嫌输出信息太多,加上--pretty=oneline
参数:你看到的一大串类似59aca…的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准。
git log --pretty=oneline
回退版本
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
现在,我们要把当前版本回退到上一个版本,就可以使用git reset
命令,注意这个^
可不是随便打的!
git reset --hard HEAD^
但是再次使用git log发现回退之前的版本被删除了,只要上面的命令行窗口还没有被关掉,找到commit id,就可以指定回到未来的某个版本。版本号没必要写全,前几位就可以了
git reset --hard 59aca
查看历史指令
问题又来了,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办
Git提供了一个命令git reflog
用来记录你的每一次命令,这里可以查看到你想要恢复的commit id,再利用git reset --hard就可以了
git reflog
今天早晨学校检查作业,下午被KMP恶心了一下,头昏脑胀,多了也记不住了,今天就到此为止了🍅