自学内容网 自学内容网

持续优化,构建更好地 auto git commit 体验

几个月前,受到一篇推文的启发 https://x.com/mtrainier2020/status/1802941902964277379 ,我突然想到可以借助 git alias 添加一些小命令,加速我的 git workflow 流程,于是我花了两个小时的时间进行工程封装,并发布了 pypi 包,并分享到了 V2EX 上: https://www.v2ex.com/t/1052254

几个月来,我一直在维护这个框架,gcop 是一个智能的 AI copilot ,旨在帮助开发者撰写更好的 git commit message ,同时加速 git workflow 。

官网: https://gcop.zeeland.top/

Github: https://github.com/undertone0809/gcop

gcop 具有以下优点:

  • 配置简单,<font style="color:rgb(0, 0, 0);">pip install gcop -U</font> 之后,简单配置完自己的模型就能直接使用 AI 生成你的 commit
  • 兼容市面上的几乎所有模型,底层基于promptulate 构建,开发者可以很轻松的配置自己想用的模型
  • 加速 git workflow: 提供了丰富的 git 命令扩展,如 git amend, git info, git undo 等,用习惯了之后特别方便,具体参考 docs
  • 自动撰写 git commit ,通过 <font style="color:rgb(0, 0, 0);">git c</font> 的命令就可以自动生成你的 git commit message ,十分方便。
  • 自定义 commit 模板:支持最佳实践自定义模板,让 AI 学习定制化的 commit style 。

现在我一天基本会有好几个 commit,因此用 gcop 特别高频,每天都会用,有了 gcop 之后,感觉写 commit 的质量好了很多,commit message 也详细了很多,一定程度上增加了写代码的动力 xsl。

节选一些 commit message 供大家参考。

最近在设计一个功能:可以自动将一个大的 code diff 拆分多个 commit ,不知道大家有没有这个需求呢,另外大家要是有其他的建议也欢迎交流。

最后欢迎大家 star 支持一下!

快速上手

本指南将帮助您快速轻松地开始使用 GCOP (Git Copilot),详情可以查看官网:https://gcop.zeeland.top

前置要求

在开始之前,请确保您已具备以下条件:

  • Python 3.8 或更新版本
  • 系统中已安装 Git
  • 您偏好的 LLM(如 OpenAI、Anthropic)的 API 密钥

安装

  1. 使用 pip 安装 GCOP:
pip install gcop
  1. 初始化 GCOP:
gcop init

此命令将设置 GCOP 并将其别名添加到您的 Git 配置中。

  1. 配置您的 AI 模型:
git gconfig

这将打开配置文件。编辑它以包含您的 AI 提供商详细信息:

model:
  model_name: provider/name, 例如 openai/gpt-4
  api_key: 您的api密钥

如何配置您的模型?请参考如何配置模型<font style="color:rgb(0, 0, 0);">config.yaml</font> 文件将存储在:

- <font style="color:rgb(0, 0, 0);">Windows: </font>`<font style="color:rgb(0, 0, 0);">%USERPROFILE%\.gcop\config.yaml</font>`
- <font style="color:rgb(0, 0, 0);">Linux: </font>`<font style="color:rgb(0, 0, 0);">~/.gcop/config.yaml</font>`
- <font style="color:rgb(0, 0, 0);">MacOS: </font>`<font style="color:rgb(0, 0, 0);">~/.gcop/config.yaml</font>`
  1. 验证安装:
git ghelp

您应该能看到可用的 GCOP 命令列表。

基本用法

生成 AI 提交信息

  1. 暂存您的更改:
git add .
  1. 生成并应用 AI 提交信息:
git c

有时,如果您想同时使用 <font style="color:rgb(0, 0, 0);">git add .</font><font style="color:rgb(0, 0, 0);">git c</font>,可以使用 <font style="color:rgb(0, 0, 0);">git ac</font> 作为快捷方式。

在 AI 生成提交信息后,您可以:

  • 接受默认信息
  • 重试
  • 根据您的反馈重试
  • 或退出

最终,您可以看到如下的提交信息:

(gcop) D:\Projects\gcop\docs>git ac
[Code diff] 
...


[Thought] 这些更改涉及更新 VitePress 配置以使用环境变量作为网站 ID,在快速入门指南中添加对新文档页面的引用,以及更正模型配置文档中的 URL。这些更改主要与文档和配置更新有关。
[Generated commit message]
docs: 更新 VitePress 配置并添加模型配置引用

- 更新 VitePress 配置以使用环境变量作为网站 ID
- 在快速入门文档中添加模型配置指南引用
- 更正模型配置文档中的 URL

这些更改提高了文档的清晰度和准确性,确保用户可以正确配置网站并了解如何设置模型。
? 您想用这个信息提交更改吗? yes
[main 5612f60] docs: 更新 VitePress 配置并添加模型配置引用
 3 files changed, 5 insertions(+), 2 deletions(-)

查看仓库信息

要获取仓库的详细概览,使用:

git info

此命令现在显示关于您仓库的综合信息,包括:

  • 项目名称
  • 当前分支
  • 最新提交
  • 未提交更改数量
  • 远程 URL
  • 总提交数
  • 贡献者数量
  • 仓库创建时间
  • 最后修改时间
  • 仓库大小
  • 最活跃的贡献者
  • 变更最多的文件
  • 按语言统计的代码行数(如果安装了 cloc)
  • 最新标签
  • 分支数量
  • 未跟踪文件数量
  • 子模块信息
  • 最新合并提交
  • 文件类型统计

这些详细信息提供了对项目状态、历史和组成的全面了解。它对于快速评估仓库的整体结构和近期活动特别有用。

例如:

注意:某些功能(如按语言统计代码行数)需要安装额外的工具(如 cloc)。

下一步

立即开始使用 GCOP 增强您的 Git 工作流程!


原文地址:https://blog.csdn.net/linZinan_/article/details/143475085

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!