Skip to content

日报生成流程指南

概述

本文档提供了基于 Git 提交记录自动生成工作日报的标准流程,帮助开发者快速整理和汇总每日工作内容。

🚀 快速生成日报

核心命令

bash
# 查看今天的提交记录(最核心的命令)
git log --since="1 day ago"

# 备用命令(如果上面命令没有结果)
git log --since="3 days ago"

完整流程

1. 查看提交记录

bash
# 查看最近一天的提交记录
git log --since="1 day ago"

命令解释:

  • --since="1 day ago": 查看最近一天的提交

2. 分析当前工作内容

bash

## 📝 日报模板

基于提交记录生成的日报应包含以下结构:

```markdown
## 工作日报 - YYYY年MM月DD日

### 📋 今日工作概述

[根据提交记录总结主要工作方向]

### 🚀 主要完成工作

#### 1. [功能模块1]

- **[具体功能点1]** - [提交信息解读]
- **[具体功能点2]** - [提交信息解读]

#### 2. [功能模块2]

- **[具体功能点1]** - [提交信息解读]

### 🎯 当前进展

[项目整体进度描述]

### 📅 明日计划

[基于当前工作内容规划明日任务]

🛠 实用技巧

1. 提交信息分类

根据提交信息的前缀进行分类:

  • feat: 新功能开发
  • fix: 问题修复
  • refactor: 代码重构
  • docs: 文档更新
  • style: 样式调整
  • test: 测试相关
  • chore: 构建/工具相关

📊 日报生成步骤

Step 1: 收集基础信息

bash
# 1. 查看提交记录
git log --since="1 day ago"

Step 2: 分析工作内容

在 Git 里想看「谁改了什么」,最常用的是一组 diff 命令,按场景使用,日报主要是显示今天做了什么,相比较昨天做了什么,以下是参看diff命令:

  1. 工作区 ↔ 暂存区

    bash
    git diff              # 默认就是工作区 vs 暂存区
  2. 工作区 ↔ 任意提交(HEAD、分支、tag、commit-id)

    bash
    git diff HEAD~2          # 工作区 vs 倒数第2次提交
    git diff v1.0.0          # 工作区 vs tag v1.0.0
  3. 暂存区 ↔ 任意提交

    bash
    git diff --staged        # 同 --cached
    git diff --cached HEAD~1 # 暂存区 vs 上一次提交
  4. 任意两次提交之间的差异

    bash
    git diff 3a2b1c..f4e5d6
    git diff HEAD~3..HEAD~1    # 最近第3次到第1次之间的变化
  5. 只看某个文件或目录

    bash
    git diff HEAD~2 -- src/main.py
  6. 统计改了多少行(不显示具体 diff)

    bash
    git diff --stat
    git diff --shortstat
  7. 图形化 / 外部工具

    bash
    git difftool -d HEAD~1        # 用 meld/beyond compare 等打开
    git difftool --dir-diff v1.0
  8. 比较远程分支

    bash
    git diff origin/main..main
  9. 比较 stash

    bash
    git diff stash@{0}

一句话记忆:

  • 没参数就是「工作区 vs 暂存区」;
  • --staged/--cached 就是「暂存区 vs HEAD」;
  • 后面跟两个点/空格就是「A vs B」。

Step 3: 分析工作内容

  1. 按模块分类: 根据提交信息中的模块标识(如 order、cart、user 等)进行分类
  2. 按类型分类: 根据提交类型(feat、fix、refactor 等)进行分类
  3. 提取关键信息: 从提交信息中提取具体的功能点和改进点

Step 4: 编写日报

  1. 概述部分: 总结今日主要工作方向
  2. 详细内容: 按模块和功能点详细描述
  3. 进展评估: 评估项目整体进度
  4. 明日规划: 基于当前进度规划后续工作

🔍 常见问题处理

Q: 没有今天的提交记录怎么办?

bash
# 查看最近几天的提交
git log --since="3 days ago" --oneline

# 查看工作区的修改
git status
git diff --name-only

Q: 提交信息不够详细怎么办?

bash
# 查看提交的详细变更
git show [commit-hash]

# 查看涉及的文件
git log --since="1 day ago" --name-only

Q: 如何处理多个分支的工作?

bash
# 查看所有分支的提交
git log --all --since="1 day ago" --pretty=format:"%h - %an, %ar : %s" -20

# 查看特定分支的提交
git log [branch-name] --since="1 day ago" --oneline

📋 日报质量检查清单

  • [ ] 提交记录已完整收集
  • [ ] 工作内容按模块分类清晰
  • [ ] 技术改进点已突出
  • [ ] 项目进展评估准确
  • [ ] 明日计划具体可行
  • [ ] 格式规范,易于阅读

🎯 最佳实践

  1. 每日定时生成: 建议在工作结束前生成日报
  2. 提交信息规范: 使用规范的提交信息格式,便于日报生成
  3. 及时记录: 重要的技术决策和问题解决过程要及时记录
  4. 数据备份: 定期备份日报,便于周报和月报的生成

🔗 相关命令速查

bash
# 基础查看命令
git log --since="1 day ago" --pretty=format:"%h - %an, %ar : %s" -20
git status
git branch --show-current

# 详细分析命令
git log --since="1 day ago" --stat
git log --since="1 day ago" --name-only
git show [commit-hash]

# 时间范围命令
git log --since="today" --oneline
git log --since="yesterday" --until="today" --oneline
git log --since="1 week ago" --oneline

Released under the MIT License.