git log的高级使用

git log --oneline 将每次提交的记录汇总成一行,默认情况下会展示commit的id和commit信息的第一行

decorate会显示每次commit对象的相关信息

eg:

0e25143 (HEAD, master) Merge branch 'feature'
ad8621a (feature) Fix a bug in the feature
16b36c6 Add a new feature
23ad9ad (tag: v0.9) Add the initial code base

从上面的输出可以看出,第一个commit是master分支的最后一条提交(HEAD)。第二条commit有一个叫feature的分支也指向了它。第4条commit被打上了v0.9的标签。


git log --stat  会显示在每次提交中,每个文件假如和删除的行数

git log -p 显示更详细的改动信息,若只想显示某一个提交的信息,可以git log -p commitid

若包含了大量的改动信息,可以使用--pickaxe参数

git shortlog 将每个开发者提交的信息进行汇总,显示的是提交的时候的commit备注信息

Mary (2): 
    Fix a bug in the feature 
    Fix a serious security hole in our framework
John (3): 
    Add the initial code base 
    Add a new feature 
    Merge branch 'feature'

--graph 根据提交历史汇出图像

git log --graph --oneline --decorate

git log -n 显示最近n条提交历史

git log --after="2017-3-1" 只显示3月1号之后的提交,可以使用yesterday等相对时间概念

git log --after="2017-3-1" --before="2017-4-1" 显示3月1号到4月1号之间的提交

git log --author="nj" 只显示某个作者的提交

git log --filename  显示这个文件的提交历史


git log -S "Hello,World" 想知道某一段代码是何时加入的

git log master..feature 显示所有不在feature上的master分支的commit

git log --no-merges 过滤掉所有的merge信息

git log --merges 值显示merge信息



### 关于 IntelliJ IDEA 新版本中 Git Log 功能的替代方案 在新版 IntelliJ IDEA 中,如果发现 Git Log 功能存在缺失或者不完善的情况,可以通过以下几种方式来实现功能替代: #### 1. 使用内置终端命令 通过 IntelliJ IDEA 自带的 Terminal 面板运行 `git log` 命令可以查看提交历史记录。这种方式完全依赖标准的 Git CLI 工具[^1]。 具体操作如下: - 打开 IntelliJ IDEA 的 **Terminal** 面板(通常位于底部工具栏)。 - 输入 `git log` 查看完整的提交日志。 对于更复杂的查询需求,还可以附加参数,例如: ```bash git log --oneline git log --graph --decorate --oneline ``` 这些命令能够提供简洁明了的日志视图以及分支结构展示。 --- #### 2. 利用 VCS 日志窗口 尽管某些新版本可能调整了默认界面布局,但 IntelliJ IDEA 提供了一个专门用于显示 Git 日志的功能模块——VCS Log 窗口。启用此功能的方法如下: - 菜单导航至 **View -> Tool Windows -> Version Control** 或者直接按下快捷键组合打开对应的面板。 - 在该面板中切换到 **Log** 标签页即可浏览当前项目的提交历史[^3]。 值得注意的是,在较新的 IDE 版本里,默认设置可能会隐藏部分高级选项;此时可通过自定义配置恢复完整功能体验。例如修改过滤器条件、时间范围等细节设定进一步优化查阅效率。 --- #### 3. 安装第三方插件增强支持 当原生解决方案无法满足特定场景下的复杂需求时,考虑引入社区开发的相关扩展也是一个不错的选择。比如 “GitToolBox” 插件就提供了丰富的额外特性,包括但不限于改进后的提交统计图表分析能力、远程仓库状态同步提示等等[^2]。 要安装此类插件,请按照下面步骤执行: - 进入 **File -> Settings -> Plugins** 页面搜索目标名称; - 下载完成后重启应用完成激活过程。 --- #### 4. 外部独立客户端作为补充手段 最后一种思路则是借助外部专用软件处理涉及频繁调阅大量数据的任务流。像 SourceTree、TortoiseGit 或 SmartGit 等图形化界面程序均具备强大的可视化效果呈现优势,适合用来应对那些难以单纯依靠编辑环境内部机制达成的理想状况。 当然这种做法虽然有效但也意味着增加了一定程度上的学习成本和技术栈负担因此需权衡利弊后再做决定。 --- ### 总结 综上所述,即便遇到官方产品迭代过程中暂时性的功能性缩减现象也不必过分担忧,因为总有多种途径可供尝试弥补不足之处从而保障日常工作流程顺畅推进下去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值