git日志的查看与修改
1.命令行中查看日志
git log
默认是显示所有的日志信息,之前出来的界面显示的日志,很少。
最后发现,只需要使用键盘上向下键↓,就可以继续浏览更多的日志
空格键,可以翻页浏览日志。
向左← 向右 → 的箭头,可以水平移动查看日志
2.将日志按照格式导出到文件中
git log --pretty=format:'%h was %an, %ar, message: %s' > log.log
3.修改日志 [tortoisegit的图形界面已经支持]
最近一次commit的修改
git commit --amend
如果需要批量修改日志,参考这篇文章git批量修改提交历史 官方文档
假设现在的提交为C1<--C2<--C3
如果需要修改C3和C2,那么使用如下命令
Administrator@LUJUNTAO /d/Colleague/JianQiang/TianJin/ZITaker (master)
$ git rebase --interactive HEAD~2
显示出这个
pick aa28b20 add NPOIExcel //C2
pick c8c01a0 add Hydraumatic project //C3
假设我们需要修改的是C2,
那么做出如下修改:
edit aa28b20 add NPOIExcel //C2 把pick改为edit
pick c8c01a0 add Hydraumatic project //C3
最后退出vim编辑器,使用wq退出
Successfully rebased and updated refs/heads/master.
然后使用git commit --amend
再使用git rebase --continue
4.查看某一个目录的日志
$ git log --pretty=format:'%h was %an, %ar, message: %s' ZITaker > log.log
5.修改某一个commit的作者和提交时间 [TortoiseGit的图形界面已经支持]
http://stackoverflow.com/questions/454734/how-can-one-change-the-timestamp-of-an-old-commit-in-git
$ git commit --amend --reset-author --no-edit //这个操作会将电脑当前时间作为最后一次commit的提交时间
如果需要处理多个commit的提交时间的话,那就创建一个临时分支,temp。将temp分支reset到你需要修改提交时间的那个commit上。然后再使用上面的命令

已经修改了“调整历史数据的查询...”的commit。
然后需要将代码微调这个cherrypick到temp分支。重复上面的操作。 【同时记得修改系统时间】
也有支持批量处理的,用的脚本,我看不懂
http://giantdorks.org/alain/how-to-reset-date-timestamps-for-one-or-more-git-commits/
6.git shortlog
git shortlog -sn 按照提交的commit数量进行统计
git shortlog -sn --since="7 weeks" --until="1 weeks" 对某一个时间段进行统计
7.Walk Behavior
https://tortoisegit.org/docs/tortoisegit/tgit-dug-showlog.html
可以clone https://github.com/tart/tartJS 来查看不同的Behavior有什么效果
Walk Behaviour → First Parent just follow up first parent commit. This will help understand overwhole history.
Walk Behaviour → No merges Skips all merge points.
Walk Behaviour → Follow renames This is available to a single file only, which tracks renames. Otherwise, the log list stops at the commit that the current filename introduced.
Walk Behaviour → Compressed Graph The log graph is simplified to include merge points, commits with references, and possibly other commits.
Walk Behaviour → Show labelled commits only The log graph is simplified to include commits with references only.
git日志的查看与修改的更多相关文章
- Git 提交修改内容和查看被修改的内容
我们将仓库里的readme.txt文件修改一下,改成如下内容: Git is a distributed version control systemGit is free software. 运行g ...
- git教程: 查看文件状态与修改内容
转载:时光机穿梭 我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed ...
- Git以及github的使用方法(三),git status查看工作区的状态,git diff查看具体修改内容
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- Git版本控制:Git查阅、撤销文件修改和撤销文件追踪
http://blog.csdn.net/pipisorry/article/details/47867097 查看文件的修改历史 git log --pretty=oneline 文件名 # 显示修 ...
- git学习笔记——查看git历史记录
1.查看Git日志: 命令:git log 默认不加参数,git日志会按照最新的日期从上往下显示 参数:-p 显示版本间的代码差异 -数字 显示部分的提交 -哈希值 显示指定的版本 2.指定查找范围: ...
- Git版本回退和撤销修改
版本回退: 在实际工作中,我们会不断对文件进行修改,然后不断提交修改到版本库里,一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失. ...
- git stash 暂存当前修改
当我们在开发项目的时候,突然来一个变更需要修改,我们除了将当前项目提交(commit)后切换(checkout) 到其他分支外,我们还可以先将当前的修改暂存(stash)起来,然后再切换(checko ...
- Git分支操作——查看、新建、删除、提交、合并
查看分支 1 查看本地分支 $ git branch 2 查看远程分支 $ git branch -r 创建分支 1 创建本地分支 $ git branch branchName 2 切换 ...
- git使用之放弃本地修改
一,未使用 git add 缓存代码时. 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “-- ...
随机推荐
- Eureka Web UI URL(eureka显示主界面路径设定)
http://stackoverflow.com/questions/30200988/spring-cloud-with-eureka-eureka-web-ui-url ************* ...
- MyBatis返回主键,MyBatis Insert操作返回主键
MyBatis返回主键,MyBatis Insert操作返回主键 >>>>>>>>>>>>>>>>> ...
- [Excel] CsvHelper---C#关于CSV文件的导入和导出以及转化 (转载)
点击下载 CsvHelper.rar 这个类是关于Csv文件的一些高级操作1.DataTable导出到CSV2.将Csv读入DataTable看下面代码吧 /// <summary> // ...
- C#中堆和栈的区别分析(有待更新总结)
转载:http://blog.csdn.net/zevin/article/details/5721495 一.预备知识-程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区 ...
- jQuery 遍历同胞(siblings)
同胞拥有相同的父元素. 通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素. 在 DOM 树中水平遍历 有许多有用的方法让我们在 DOM 树进行水平遍历: siblings() next() ...
- Net的struct的内存对齐问题
很少有人谈起struct的内存对齐问题, 就是在很多C#书中, 也很少提及. 但在实际应用中, 如果不注意内存对齐, struct比较大的话, 则会浪费一定的内存. 先从一个实例看起. publ ...
- Python:对象
#!/usr/bin/python3 #对象实例 class Person: num=200 def __init__(self,name,sex): self.name=name self.sex= ...
- c++primerplus(第六版)编程题——第4章(复合类型)
声明:作者为了调试方便,每一章的程序写在一个工程文件中,每一道编程练习题新建一个独立文件,在主函数中调用,我建议同我一样的初学者可以采用这种方式,调试起来会比较方便. (具体方式参见第3章模板) 1. ...
- PHP临时文件session的分级存储与定期删除
在Windows上PHP默认的Session服务端文件存放在C:\WINDOWS\Temp下,如果说并发访问很大或者 session建立太多,目录下就会存在大量类似sess_xxxxxx的sessio ...
- 《paste命令》-linux命令五分钟系列之二十
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...