github学习笔记(二):历史版本的获取_过去与未来
继续记录 git 学习笔记
版本回退
在实际使用过程中,大多数用户会提交很多次修改的结果,每一次都记清楚到底修改了什么很难。所以可以使用下述命令来获得所有历史修改信息
$ git log
该命令显示的是最近到最远的提交记录,如果觉得显示的信息过多可以使用下述命令简化输出【结果中只有commit + 每次的修改记录,这里的commit是使用十六进制数字表示的,毕竟分布式对吧。】
$ git log --pretty=oneline
每提交一个新版本,Git就会把它们自动串成一条时间线。如果使用可视化工具查看Git历史,就可以更清楚地看到提交历史的时间线【暂时还没发现怎么使用,先小小跳过一下】
那么如何退回到自己想要的那个版本呢??!
首先要知道自己退回到哪里(需要索引),git 中用 HEAD 表示当前版本
使用以下命令即可让版本回退【使用之后再返回去看自己的文件就发现已经回到了原始版本】
$ git reset --hard HEAD^
此时再用 git log 命令就会发现历史只会到达你回溯的地方(时间线的一部分被掐断了)最新的已经找不到了。
如果想要找到的话,在你当前的窗口还没有退出的前提下 找到版本对应的commit id 输入前四位,使用下述命令即可。
$ git reset --hard 1094a
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。
如果 如果命令行也关了怎么办?还是有办法的。
使用下述命令可以得到全部的commit id
$ git reflog
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL
概念介绍 -- 工作区与暂存区
工作区是能在电脑文件夹里看到文件的区域
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
创建Git版本库时,Git自动创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改【add 和 commit】
参考链接
参考链接很重要,大部分全靠它们了。本文只是记录一些自己学习过程中学到的一些东西和一些体会!
- 廖雪峰老师的网站 https://www.liaoxuefeng.com/wiki/896043488029600
- 怎么从零开始使用github? - 宁萌时光的回答 - 知乎 https://www.zhihu.com/question/419802287/answer/1472579577
- git 安装网址:https://git-scm.com/download/win