Git详解及 GitHub与GitLab使用(5)

git log --stat -2 #--stat简要显示数据增改行数,这样能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息

git log --pretty=oneline #--pretty根据不同的格式展示提交的历史信息

git log --pretty=fuller -2 #→以更详细的模式输出提交的历史记录

git log --pretty=fomat:"%h %cn"  #→查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名。

使用format参数来指定具体的输出格式

格式

 

说明

 

%s

 

提交说明。

 

%cd

 

提交日期。

 

%an

 

作者的名字。

 

%cn

 

提交者的姓名。

 

%ce

 

提交者的电子邮件。

 

%H

 

提交对象的完整SHA-1哈希字串。

 

%h

 

提交对象的简短SHA-1哈希字串。

 

%T

 

树对象的完整SHA-1哈希字串。

 

%t

 

树对象的简短SHA-1哈希字串。

 

%P

 

父对象的完整SHA-1哈希字串。

 

%p

 

父对象的简短SHA-1哈希字串。

 

%ad

 

作者的修订时间。

 

命令实践

[root@gitlab git_data]# git log commit a409fc46f792228a8119705e9cc97c2a013534ab Author: clsn <admin@znix.top> Date: Wed Nov 29 11:44:14 2017 +0800 test commit bb963eb32ad93a72d9ce93e4bb55105087f1227d Author: clsn <admin@znix.top> Date: Wed Nov 29 10:57:02 2017 +0800 first commit

1.6.6 还原历史数据

Git服务程序中有一个叫做HEAD的版本指针,当用户申请还原数据时,其实就是将HEAD指针指向到某个特定的提交版本,但是因为Git是分布式版本控制系统,为了避免历史记录冲突,故使用了SHA-1计算出十六进制的哈希字串来区分每个提交版本,另外默认的HEAD版本指针会指向到最近的一次提交版本记录,而上一个提交版本会叫HEAD^,上上一个版本则会叫做HEAD^^,当然一般会用HEAD~5来表示往上数第五个提交版本。

git reset --hard  hash

git reset --hard HEAD^  #→还原历史提交版本上一次

git reset --hard 3de15d4 #→找到历史还原点的SHA-1值后,就可以还原(值不写全,系统

会自动匹配)

测试命令

[root@gitlab git_data]# git log commit a409fc46f792228a8119705e9cc97c2a013534ab Author: clsn <13835544305@163.com> Date: Wed Nov 29 11:44:14 2017 +0800 test commit bb963eb32ad93a72d9ce93e4bb55105087f1227d Author: clsn <13835544305@163.com> Date: Wed Nov 29 10:57:02 2017 +0800 first commit

还原数据

[root@gitlab git_data]# git reset --hard bb963 HEAD 现在位于 bb963eb first commit # 查看数据 [root@gitlab git_data]# ls README

1.6.7 还原未来数据

什么是未来数据?就是你还原到历史数据了,但是你后悔了,想撤销更改,但是git log已经找不到这个版本了。

git reflog #→查看未来历史更新点

测试命令

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13103.html