1.7 Log

想知道在这些提交之后你的历史数据是什么样子吗?

使用Log去找吧

在本期的Github基础中,我们将详细阐述Git是如何管理我们的文件,用日志看看我们的提交真实是什么样子的。

最简单的开始方式是进入我们的终端,在我们的一个仓库中键入git log

$ git log

最上面的记录是我们最新的提交,最早的提交位于最底部,它们是按照先后顺序排列的。

你首先要注意的事情,这里有一串40个字符的十六进制码,你不必太担心这个,那不过是唯一标识符,或者是git生成的提交引用。

当你每次提交到你仓库的时候,你可能也会注意到,在提交引用下面,有三行语句。第一行有你或者提交者的用户名和邮件地址。紧接着是可以显示那次提交发生的时间。第三行则是提交的内容本身。

如果你的仓库中有许多次提交,在你的屏幕左下角部分,你将会看到一个冒号。你可以使用上下方向键,来滚动这些提交内容,按照时间顺序来浏览这些内容,但是我们一般不需要看,这些全部提交和全部信息,我们可以使用一个选项,过滤得到更加具体的内容。

尽管git的日志给我们提供了很多可以查看的信息,但是我们使用git log --oneline可以更加方便的

$ git log --oneline

去快速查看一个概要,关于我们提交的是什么。提交信息和一个简短的版本。关于标识符或者提交,这让我们快速了解到仓库历史是什么样子的,以及代码是怎么前进的。

查看每次提交中包含了哪些文件时更加经常用到的。通过使用git log --start

$ git log --start

我们不仅可以看到提交信息,提交引用,并且可以看到列出的每次提交包含的文件。我们可以看到它们的路径,甚至可以看到它们的相对改变,使用加减符号列出。表示每次提交中,内容的增加或减少。

除了简单查看git log --start

看看哪些文件被包含了,你可能想了解,在每次提交之间哪些内容改变了,为了看这些改变,只需运行git log --patch就可以了

$ git log --patch

它会展示不同的地方,和后续的提交做对比,如果在两次提交之间,内容改变以及增加了。你将会看到使用绿色列出来并且会看到一些加法符号。如果一些东西被移除了,你将会看到一些减法符号,那可能会用红色展示。记住,这些选项并不相互排斥。你可以把他们组合起来得到一个日志输出。那对于你的需求来说是最有用的。你可能想要看看提交信息的概括,所以oneline听上去像是正确的选择。但是,接着你想要输出不同的地方,只需要运行git log --patch --oneline

$ git log --patch --oneline

这样你将得到在一次日志输出中,多个选项带来的好处

关于日志命令,最有用之一的命令是去graph它,或者得到一个ascii码来表示我们提交结构的样子。我们可以使用git log --graph

但是我建议增加几个其它的选项,可以简洁输出并且得到一些其它的信息。让我们允许

$ git log --graph --all --decorate --oneline

马上回给我们展示每次提交的一行概括,将会使用ascii码描绘全部提交,同时会提供给我们每个分支的标签,和我们提交的其它标志,例如tags

这就是你可以使用log来做得一些例子,log功能非常强大,它是一个很好的方式去了解你的仓库的进展。仓库的提交内容以及提交修改的文件

时间: 2024-11-08 21:26:39

1.7 Log的相关文章

【转】console.log 用法

转自http://www.cnblogs.com/ctriphire/p/4116207.html 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方.可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上co

git日志--log

1. 查找改动某个文件所有的日志 git log --pretty=oneline somefile.java git log --oneline somefile.java git log --pretty=format:"%h %an,%cd : %s" somefile.java 2. 格式化输出,git log --pretty=format:" " 选项 说明 %H 提交对象(commit)的完整哈希字串 %h 提交对象的简短哈希字串 %T 树对象(tre

git log进阶

格式化log输出 oneline --oneline标记将每个commit压缩成一行. 默认情况下显示一个commit ID和commit描述的第一行. 输出如下: 0e25143 Merge branch 'feature' ad8621a Fix a bug in the feature 16b36c6 Add a new feature 23ad9ad Add the initial code base decorate 许多时候知道commit是和哪一个分支或tag关联的是非常有用的.

git查看单个文件log

  git log -p c.txt

游戏log的格式的优化

游戏log是非常关键的,对于追踪bug和查看一些信息,所以游戏里面是大量的log输出,sprintf的格式非常难用,而且对格式有较高的要求. 下面一种优化方案如下: // MVC.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include <string> #include <sstream> using namespace std; class EndLogOut

使用方法拦截器MethodInterceptor和AOP统一处理log

对每个接口的请求记录log的方法有很多种,比如用filter.mvc interceptor.method interceptor等.如果需要记录请求消息的payload,前两种不适用.下面介绍第三种的实现方法. 第一步:引入包依赖 <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name=&

对于Android系统Log输出日志的封装LogUtils

MainActivity如下: package cc.cn.logutil; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 对于Android系统Log输出日志的封装LogUtils * 1 可修改LogUtils中的LEVEL值觉得哪些级别的日志可以输出. * 所以方便选择性输出日志或者屏蔽日志输出 * 2 输出的日志除了本想输出的信息外还包含了该日志输出时所属 * 的线程,类,方法名,已经在该方法

ORA-16009 remote archive log destination must be a STANDBY database

ORA-16009错误处理 问题描述: 主备在做Switchover切换时,在切换后的备库报如下错误: Wed Jul 22 04:49:02 2015 Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_8755.trc: ORA-16009: remote archive log destination must be a STANDBY database 解决办法: 查看主库log_archive_dest_2 参数,结果此参

linux中log文件夹各个log文件内容

/var/log/messages - 包括整体系统信息,其中也包含系统启动期间的日志.此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中. /var/log/dmesg - 包含内核缓冲信息(kernel ring buffer).在系统启动时,会在屏幕上显示许多与硬件有关的信息.可以用dmesg查看它们. /var/log/auth.log - 包含系统授权信息,包括用户登录和使用的权限机制等. /var/log/boot.log

python 实现 math.log(x,base)

python 用闭包实现math.log(x,base) #!/usr/bin/python3 # -*- coding: utf-8 -*- import sys,math import random import pprint def log(n,d): i = 0 status = 0 while True: if d**i==n: status=1 break elif d**i<n<d**(i+1): break i+=1 def test(level=100): if status