Skip to content

Latest commit

 

History

History
155 lines (102 loc) · 4.65 KB

README.md

File metadata and controls

155 lines (102 loc) · 4.65 KB

Git AI Tool README

Git AI Tool

git-tool 是一个方便的 Git 提交记录工具,支持自动生成简洁的提交信息和生成多个项目的周报。它可以帮助开发人员更高效地生成 Git 提交信息,并定期生成团队周报,方便团队协作和项目管理。

功能

  • 自动生成提交信息:根据 git diff 自动生成简洁且准确的提交信息。
  • 生成周报:从多个 Git 项目中获取一周内的提交记录,自动生成简洁易读的周报,适合团队分享。

安装

你可以使用 Yarn 进行全局安装和使用:

  1. 克隆项目并进入项目目录:

    git clone https://github.com/shunshunyue/git-ai-tool.git
    cd git-tool
    
  2. 安装依赖:

    yarn install
    
  3. 使用 yarn link 将项目链接到全局环境:

    yarn link
    
  4. 在其他项目或任何地方,运行以下命令来链接并使用工具:

    yarn link git-tool
    

使用

新增对 (svn) 的支持 请使用新命令

acmt:  自动生成commit

awr:   生成周报

1. 生成提交信息 (git-commit) --- 旧版

git-commit 命令用于自动生成 Git 提交信息。它将根据你的 Git 修改(git diff)内容生成一个简洁、清晰的提交信息,避免你在提交时纠结于写提交信息的内容。

使用方法:

  1. 在项目目录下运行以下命令:

    git-commit
    
  2. 工具会显示你对项目的修改内容,并根据修改内容生成一个简洁的提交信息。你可以选择接受生成的提交信息,或者修改它。

  3. 如果接受,工具会自动执行 git commit,提交修改。

示例:

$ git-commit
修改了用户登录功能,优化了认证流程,修复了表单验证的 bug。

是否使用此提交信息?(y/n): y

2. 生成周报 (git-report)

git-report 命令用于从多个 Git 项目中获取提交记录,并自动生成一份周报。报告会总结每个项目在过去一周的提交情况,包括每个提交的哈希、作者、提交时间和提交信息,适合团队分享。

使用方法:

  1. 在项目目录下运行以下命令:

    git-report
    
  2. 系统会提示你输入时间范围,可以选择使用默认的最近一周时间范围,也可以自定义时间。

  3. 系统会提示你输入项目路径。你可以输入多个项目路径,多个项目路径用逗号分隔。

  4. 系统会从每个项目中获取提交记录,并生成一份周报。

  5. 你可以选择将生成的周报保存为文件,或者直接查看输出。

示例:

$ git-report
是否使用默认时间范围(最近一周)?(y/n): y
请输入多个项目的路径,使用逗号分隔:/path/to/project1,/path/to/project2
正在获取 /path/to/project1 项目从 2024-11-05 到 2024-11-11 的提交记录...
...
合并的提交记录:
--- /path/to/project1 项目 ---
abc1234 - Alice: 修复了登录问题 (3 days ago)
def5678 - Bob: 更新了文档 (5 days ago)

正在生成周报...
生成的周报:
本周在 `/path/to/project1` 项目中,以下是主要提交:
- Alice: 修复了登录问题
- Bob: 更新了文档

是否将周报保存为文件?(y/n): y
周报已保存为文件!🎉

环境变量

工具使用 Google Generative AI API 来生成提交信息和周报,因此需要设置 API 密钥。

  1. config 文件,在其中添加以下内容:

    API_KEY=your-google-api-key
    API_MODEL=使用的谷歌gemini模型
    
  2. 将你的 Google API 密钥填入 API_KEY 变量。

项目结构

  • git-commit-helper.js: 用于自动生成提交信息。
  • git-weekly-report.js: 用于生成多个项目的周报。
  • config.js: 存储 API 密钥。
  • package.json: 包含项目的元数据和依赖项。

常见问题

1. git-commit 命令无效?

  • 确保你在全局安装了工具(yarn link)。
  • 确保全局 bin 路径已加入到系统的 PATH 环境变量中。
  • 确保脚本文件顶部有 #!/usr/bin/env node

2. 生成的提交信息不准确?

  • 确保 git diff 输出的内容足够清晰,工具会基于 git diff 自动生成提交信息。
  • 如果自动生成的提交信息不合适,你可以手动修改提交信息。

3. 周报生成失败?

  • 确保项目路径正确,并且该路径下有 Git 仓库。
  • 确保 config 文件中正确配置了 Google API 密钥。

贡献

欢迎提出问题、报告 bug 或提交代码!你可以通过 GitHub 提交 issues 或 pull requests。