git 查看代码数量

git log --author="e-hanyu" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

 

注:e-hanyu   账号

<think>好的,用户想了解如何用Git查看代码提交历史记录,也就是使用git log命令。首先,我需要回忆一下git log的基本用法和常见选项。用户可能已经知道一些基础操作,但可能需要更详细的信息或高级选项。 首先,基础命令是git log,这会显示提交的哈希、作者、日期和提交信息。但用户可能不知道如何控制显示的格式,比如简化显示或者按时间排序。接下来,用户可能需要过滤提交记录,比如按作者、日期、文件或内容搜索,这时候需要介绍相关的参,比如--author、--since、--grep等。 然后,用户可能关心如何查看更简洁的信息,比如--oneline选项,或者需要图形化的分支展示,这时候--graph会很有用。另外,统计代码修改量,比如--stat或--shortstat,以及具体的代码统计,可能需要结合其他命令如git diff和wc。 还要注意用户可能需要查看某个文件或目录的历史,这时候使用路径过滤。对于需要查看具体代码变更的情况,-p选项可以显示差异。最后,用户可能不知道如何限制显示的提交数量,比如-3只显示最近三次提交。 需要确保回答覆盖常用场景,并给出示例命令,这样用户可以直接复制使用。同时,要引用提供的参考内容来支持说明,比如参考2提到的按时间和作者查找,参考4中的作者过滤,参考3的代码统计。确保引用标记正确,比如[^2]、[^4]。 另外,用户的问题可能隐含更深层的需求,比如调试时查找引入bug的提交,或者统计贡献量,所以在相关问题中可以提出这些方向。最后,检查是否有遗漏的常见用例,确保回答全面且易于理解。</think>### 如何用 Git 查看代码提交历史记录? Git 提供了强大的 `git log` 命令用于查看代码提交历史记录,支持多种过滤条件和格式化输出。以下是具体使用方法: --- #### 1. **基础用法** 直接运行 `git log` 会默认显示当前分支的提交历史,包含以下信息: - **提交哈希值**(如 `commit 5d3a9c0`) - **作者信息**(`Author: name <email>`) - **提交日期** - **提交说明**(commit message) ```bash git log ``` --- #### 2. **常用参与场景** ##### **按时间过滤** - 查看过去一周内的提交: ```bash git log --since="1 week ago" ``` - 指定日期范围(如2023年1月1日到2023年12月31日): ```bash git log --since="2023-01-01" --until="2023-12-31" ``` ##### **按作者过滤** - 查找特定作者的提交(例如用户名为 "Alice"): ```bash git log --author="Alice" ``` ##### **按提交内容过滤** - 搜索提交说明中包含关键词 "bug" 的记录: ```bash git log --grep="bug" ``` - 搜索代码变更中包含特定字符串(如 "TODO"): ```bash git log -S"TODO" ``` ##### **简化输出格式** - 单行显示提交历史(哈希值 + 提交说明): ```bash git log --oneline ``` - 显示分支合并的图形化结构: ```bash git log --graph --oneline ``` ##### **查看文件/目录的修改历史** - 查看 `src/app.js` 文件的提交记录: ```bash git log src/app.js ``` ##### **限制显示数量** - 仅显示最近3次提交: ```bash git log -3 ``` --- #### 3. **高级用法** ##### **查看代码差异** - 显示每次提交的具体代码变更(diff): ```bash git log -p ``` ##### **统计代码修改量** - 显示每次提交的文件修改统计(增删行): ```bash git log --stat ``` - 统计总代码变化(需结合其他命令): ```bash git log --pretty=tformat: --numstat | awk '{ add += $1; subs += $2 } END { printf "Add: %s, Delete: %s\n", add, subs }' ``` --- #### 4. **结合其他工具** - **按时间倒序排列**(最新提交在最前): ```bash git log --reverse ``` - **导出为文件**(保存到 `log.txt`): ```bash git log > log.txt ``` --- #### 示例命令 ```bash # 查看Alice最近一周在src目录下的提交,并显示代码差异 git log --author="Alice" --since="1 week ago" -- src/ -p ``` --- ### 引用说明 - 按时间或作者过滤提交记录的方法可参考 Git 官方文档 。 - 代码统计的实现结合了 `git log` 与 Shell 命令 [^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值