git日志的查看与修改

摘要:
最后,发现您可以继续浏览更多的日志空间键,并使用向下键翻页浏览日志↓ 在键盘上。将临时分支重置为需要修改提交时间的提交。然后使用上述命令修改“查询以调整历史数据…”的提交。然后你需要微调樱桃采摘到临时分支。重复上述操作。
1.命令行中查看日志

git log

默认是显示所有的日志信息,之前出来的界面显示的日志,很少。

最后发现,只需要使用键盘上向下键↓,就可以继续浏览更多的日志

空格键,可以翻页浏览日志。 

向左←  向右 →  的箭头,可以水平移动查看日志

2.将日志按照格式导出到文件中

git log --pretty=format:'%h was %an, %ar, message: %s' > log.log

参考资料:Git log output log file

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.查看某一个目录的日志

http://stackoverflow.com/questions/16343659/how-to-show-git-log-history-for-a-sub-directory-of-a-git-repo

$ 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上。然后再使用上面的命令

git日志的查看与修改第1张

已经修改了“调整历史数据的查询...”的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日志的查看与修改》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【技术贴】解决相册thumbnails文件过大 小米缩略图缓存根除办法图片去重下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

log4j 设置日志输出文件的路径

log4j.rootLogger=debug, A1 #输出到指定目录下 og4j.appender.A1.File=/log.log #输出到tomcat容器下的指定目录 log4j.appender.R.File=${catalina.home}/logs/log.log #读取 web.xml 配置文件中的值一般设置为 webApp lo...

git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作

## 总结 - 学会使用基本的git命令 管理源代码- 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push)- 了解本地的.git和服务器github的.git的关系 是两个仓库 一个是本地 一个是服务器 需要使用一句命令来关联 git remote add origin 远端的.git的地址- 了解github的...

关于MTK平台CC相关的Log查询

关于MTK平台CC相关的Log查询 在外场问题中,经常会出现通话相关的故障。这里简单总结一下通话相关log的分析点:   主叫方:主叫方,是指主动发起通话的一方。 初步定位问题, 用户发起通话时,AP端的拨号指令最终会通过AT到达modem,所以可以通过查看radio_log中相关的拨号AT指令来判断问题出现在AP还是BP。 11-04 11:06:06...

Github强制找回管理员账号密码

步骤: 1. 登录Github所在的服务器,切换用户为git:su git 2. 进入Github的Rails控制台:gitlab-rails console production 3. 查看超级管理员用户:user = User.where(id: 1).first 返回结果如下所示: 4. 修改root用户的密码: user.password = "...

function邮件php smtp邮件发送代码

最近研究function邮件,稍微总结一下,以后继续补充: <?php error_reporting(E_ALL ^ E_NOTICE); ##########服务器参数设置################ $smtpserver = "smtp.163.com";//SMTP服务器 $smtpserverport = 25;//SMTP服务器端口...

Git--将已有的项目添加到github

(2). 初始化本地仓库,并提交内容到本地 需要先打开 命令行终端,然后通过 cd 命令切换到需要添加到github 的项目的目录下,然后依次执行如下命令, 具体命令及其含义如下: 1). touch README.md 创建说明文档, 2). git init 初始化本地仓库 3). git add . 添加全部已经修改的文件,准备commit 提交该命...