Git AI Tool README
git-tool
是一个方便的 Git 提交记录工具,支持自动生成简洁的提交信息和生成多个项目的周报。它可以帮助开发人员更高效地生成 Git 提交信息,并定期生成团队周报,方便团队协作和项目管理。
- 自动生成提交信息:根据
git diff
自动生成简洁且准确的提交信息。 - 生成周报:从多个 Git 项目中获取一周内的提交记录,自动生成简洁易读的周报,适合团队分享。
你可以使用 Yarn 进行全局安装和使用:
-
克隆项目并进入项目目录:
git clone https://github.com/shunshunyue/git-ai-tool.git cd git-tool
-
安装依赖:
yarn install
-
使用
yarn link
将项目链接到全局环境:yarn link
-
在其他项目或任何地方,运行以下命令来链接并使用工具:
yarn link git-tool
acmt: 自动生成commit
awr: 生成周报
git-commit
命令用于自动生成 Git 提交信息。它将根据你的 Git 修改(git diff
)内容生成一个简洁、清晰的提交信息,避免你在提交时纠结于写提交信息的内容。
-
在项目目录下运行以下命令:
git-commit
-
工具会显示你对项目的修改内容,并根据修改内容生成一个简洁的提交信息。你可以选择接受生成的提交信息,或者修改它。
-
如果接受,工具会自动执行
git commit
,提交修改。
$ git-commit
修改了用户登录功能,优化了认证流程,修复了表单验证的 bug。
是否使用此提交信息?(y/n): y
git-report
命令用于从多个 Git 项目中获取提交记录,并自动生成一份周报。报告会总结每个项目在过去一周的提交情况,包括每个提交的哈希、作者、提交时间和提交信息,适合团队分享。
-
在项目目录下运行以下命令:
git-report
-
系统会提示你输入时间范围,可以选择使用默认的最近一周时间范围,也可以自定义时间。
-
系统会提示你输入项目路径。你可以输入多个项目路径,多个项目路径用逗号分隔。
-
系统会从每个项目中获取提交记录,并生成一份周报。
-
你可以选择将生成的周报保存为文件,或者直接查看输出。
$ 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 密钥。
-
在
config
文件,在其中添加以下内容:API_KEY=your-google-api-key API_MODEL=使用的谷歌gemini模型
-
将你的 Google API 密钥填入
API_KEY
变量。
git-commit-helper.js
: 用于自动生成提交信息。git-weekly-report.js
: 用于生成多个项目的周报。config.js
: 存储 API 密钥。package.json
: 包含项目的元数据和依赖项。
- 确保你在全局安装了工具(
yarn link
)。 - 确保全局
bin
路径已加入到系统的PATH
环境变量中。 - 确保脚本文件顶部有
#!/usr/bin/env node
。
- 确保
git diff
输出的内容足够清晰,工具会基于git diff
自动生成提交信息。 - 如果自动生成的提交信息不合适,你可以手动修改提交信息。
- 确保项目路径正确,并且该路径下有 Git 仓库。
- 确保
config
文件中正确配置了 Google API 密钥。
欢迎提出问题、报告 bug 或提交代码!你可以通过 GitHub 提交 issues 或 pull requests。