git------git log 与 git reflog 查看历史记录(被删除的历史commit ID)

区别:如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录.

 

一、git log 

最优的展示历史的命令:git log --pretty=format:"%h - %an  %cr : %s" --graph

* cb78cb2 - cocoli  22 hours ago : 解决冲突
*   d45f251 - cocoli  2 days ago : ...
|\
| * ecf3b57 - cocoli  2 days ago : 天气组件第一版完成
* | bfff1e2 - cocoli  2 days ago : 删除无用log,完善部分显示顺序
|/
* aaa65db - liyangtao  3 days ago : 天气列表
* c192add - liyangtao  3 days ago : 天气组件 优化显示功能
* b0c5a04 - liyangtao  4 days ago : 修复天气组件更新时间问题
* 8cd0bd6 - cocoli  5 days ago : 加攝氏度
*   3eda0e7 - cocoli  5 days ago : 添加为跟踪文件
|\
| * c1541a2 - cocoli  5 days ago : 天气UI加入
* | 5cadf6c - cocoli  5 days ago : 天气UI加入部分
|/
* cb78cb2 - cocoli  22 hours ago : 解决冲突
 

git log 查看所有(未被回退)的commit id 和提交的信息

如果觉得太繁琐,在命令后加上参数  --pretty=oneline,只会显示版本号和提交时的备注信息

 

a.其他参数:

一 、-p
常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交:

$ git log -p -2 

该选项除了显示基本信息之外,还附带了每次 commit 的变化。 
当进行代码审查,或者快速浏览某个搭档提交的commit所带来的变化的时候,这个参数就非常有用了。 

二 、--stat
想看到每次提交的简略的统计信息,你可以使用 --stat 选项:
$ git log --stat

--stat 选项在每次提交的下面列出所有被修改过的文件、
有多少文件被修改了
被修改过的文件的哪些行被移除或是添加了。 
在每次提交的最后还有一个总结。

三 、--pretty=oneline | full | fuller | short |  format
另外一个常用的选项是 --pretty。 这个选项可以指定使用不同于默认格式的方式展示提交历史。 

四 、 --graph 显示 ASCII 图形表示的分支合并历史。(结构看着比较舒服)
git log  --graph 

五 、 -<number> 显示对应数字量的提交信息
git log -2 --graph  以Ascll图表的形式来显示最近2次的提交。

六 、  --before 和 --until 后加日期,表示对应日期之前的提交
git log --until='6 hours ago'  六小时前的所有提交
git log --until='6 hours ago' --graph --pretty=oneline 六小时前的代码提交历史
git log --before='2019-12-1'  --graph 对应日期前的提交

七 、 --since, --after 仅显示指定时间之后的提交。
git log --since=2.weeks  从两周前开始后的所有提交
git log --since='6 hours ago' --graph --pretty=oneline 从六小时前开始后的代码提交历史
git log --after ='2019-12-1'  --graph 对应日期后的提交


八 、 另一个非常有用的筛选选项是 -S,可以列出那些添加或移除了某些字符串的提交
你想找出添加或移除了某一个特定函数的引用的提交,你可以这样使用:
$ git log -Sfunction_name


 

 

二、git reflog(查看所有分支的所有操作记录(包括已经被删除的))

可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

例如执行:

git reset --hard HEAD~1,退回到上一个版本;

git reset --hard HEAD@{3} 回退到指定版本

git reset --hard b915f40   回退到指定版本(使用缩写commitID)

用git log则是看不出来被删除的commitid,用git reflog则可以看到被删除的commitid,

 

发布了163 篇原创文章 · 获赞 31 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/COCOLI_BK/article/details/103344407
今日推荐