使用Skonsole自动生成Git提交信息
使用Skonsole自动生成Git提交信息
随着LLM应用的普及,日常工作中的很多使用都可以使用LLM来完成,比如Git提交信息的生成。
Skonsole是一个基于Semantic Kernel的命令行小工具,集成了Git提交信息生成、PR内容生成、PR评审等功能。
其作者Lee Miller也是Semantic Kernel的主要开发者。
准备
- 首先确保本机安装了 .NET 7 SDK 或者更高版本。
- 该工具使用 Azure OpenAI 服务,确保已经有 Azure OpenAI 的 Endpoint 和 Key。
安装
可以使用dotnet tool 进行安装:
dotnet tool install -g skonsole
安装完成之后,可以使用如下指令进行验证是否安装成功:
skonsole --version
配置
安装完成之后,可以通过以下指令进行配置:
skonsole config
目前的配置项包括:
- AZURE_OPENAI_CHAT_DEPLOYMENT_NAME
- AZURE_OPENAI_API_ENDPOINT
- AZURE_OPENAI_API_KEY
可以根据配置指令提示进行配置,也可以直接设置为系统的环境变量。
其中AZURE_OPENAI_CHAT_DEPLOYMENT_NAME为 Chat模型的部署名称,例如gpt-35-turbo、gpt-4 等。
使用
完成配置之后,就可以开始使用了。
需要注意的是,git相关的功能都是基于当前的 git 仓库的,所以可以先将命令行的目录切换到对应的 git 仓库下,然后执行。
生成git提交信息
在生成git提交信息之前,需要先将当前的修改暂存到暂存区
然后使用以下指令可根据当暂存区的内容生成提交信息:
skonsole commit
生成PR(MR)内容
生成PR的内容主要针对当前分支与目标分支的差异,所以可以在当前分支完成代码提交之后,执行以下指令:
skonsole pr -t origin/master
如果默认的上游分支是 origin/main(GitHub 默认分支) 的话, --target/-t 选项就可以省略。
也可以使用以下子指令,效果一样。
skonsole pr description
生成PR(MR)评审内容
和生成PR内容类似,只是变成了生成PR评审内容,可以使用以下指令:
skonsole pr feedback -t origin/master
其他功能
skonsole chat: 提示词机器人,可以通过与AI聊天的方式来生成提示词。
构建
该项目在GitHub上开源: Skonsole
如果想要自己修改构建的话,可以执行以下步骤:
- 克隆项目到本地
- 打开
apps/SKonsole目录 - 添加新的指令和功能
- 执行
dotnet build进行构建
这个项目是一个 dotnet tool, 如果自行修改后想要安装到本地的话,可以参考这个使用 .NET 本地工具。
参考
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
使用Skonsole自动生成Git提交信息的更多相关文章
- 写得好 git 提交信息
编写好 git 提交信息 提交信息 我们作出答复,更改将提交相关信息,这些信息通常被认为是重要的信息会小心留下应该离开,你为什么需要这个提交实例,提交解决任何问题. 我们需要良好的信息组织,虽然后来, ...
- 用shell脚本新建shell文件并自动生成头说明信息
目标: 新建文件后,直接给文件写入下图信息 代码实现: [root@localhost test]# vi AutoHead.sh #!/bin/bash#此程序的功能是新建shell文件并自动生成头 ...
- shell脚本模板----自动生成开头注释信息
每当我们新建一个shell脚本都要去写一些繁琐的注释信息,这会浪费掉我们很多的时间,有没有感觉很痛苦呢? 哈哈 下面给大家分享一个shell脚本的模板文件,把它拷贝到用户的家目录下并命名成 .vim ...
- 用shell脚本新建文件并自动生成头说明信息
目标: 新建文件后,直接给文件写入下图信息 代码实现: [root@localhost test]# vi AutoHead.sh #!/bin/bash #此程序的功能是新建shell文件并自动生成 ...
- git push撤销、git commit 撤销、git add撤销、修改git提交信息
原文地址:http://leisure.wang/?p=472 虽然自觉是一个Git工具的老手了,但是平时犯了一点错误,就发现有点捉襟见肘了.就好像今天我把一些代码玩坏了,想撤回到前几个版本去(此时已 ...
- 怎么创建一个良好的Git提交信息
译 原文:https://dev.to/chrissiemhrk/git-commit-message-5e21 提交信息是对提交之前添加和更改的文件所做的更改的简短描述. 良好的提交信息不仅对你 ...
- 在 Git 提交信息中使用 Emoji
Gitmoji 旨在解释如何在 Git 提交消息时使用表情符号.在提交信息时使用表情符号,可以更容易地识别提交的目的或意图. Emoji 列表 :优化项目结构 / 代码格式 :art: ️ :性能提升 ...
- commit lint规范化团队git提交信息
一.快速提交符号angular编码规范的提交信息 1.命令行中安装commitizen: npm install -g commitizen commitizen init cz-convention ...
- Flink SQL任务自动生成与提交
目录 起因 思路 实现 1.配置 2.界面如下 3.环境 问题 起因 事情的起因,是看到一篇公众号文章Apache Flink 在汽车之家的应用与实践,里面提到了"基于 SQL 的开发流程& ...
- Mybatis使用generator自动生成映射配置文件信息
使用mybatis配置映射文件比较的麻烦,但是有自动生成jar工具,方便加速开发速度,下面主要是该工具的使用以及相关的配置. 1.下载相关的资源 我们需要下载mybatis-generator-co ...
随机推荐
- vue 版本查看
如何查看vue版本号? 方法1.全局查看vue版本号 npm info vue方法2.局部(当前项目)查vue版本号 npm list vue version方法3.此外还可以通过 package.j ...
- vue横向导航条滚动到顶部固定同时瞄点对应内容(copy即用)
这里监听window 的scroll实现一个页面滚动,导航菜单定位,内容联动的一个简单组件,结合一些案例,按需进行了整合,在此记录一下 效果图如下 具体实现如下 一.先创建一个NavigateTool ...
- 《HTML入门笔记2》
HTML常用标签 分别有:a 标签.img 标签.table 标签.form 标签.input 标签等. a 标签(特别常用) a 标签即超级链接,又叫超链接.一个网站通常由多个页面构成,进入网站时首 ...
- python学习---logging模块
# shutil 主要更目录和文件有关模块# 拷贝目录 shutil,copy2('原路径', '目标路径')# 拷贝文件# 删除目录'''#为什么要写LOG # log是为了排错: #log 是为了 ...
- jenkins中的坑_CreateProcess error=1392
环境:windows11,jdk1.8,jenkins_2.346.war 起因 最近在使用jenkins部署项目的时候,填写仓库的url地址时,发现填完后报500这个错误,于是我打开jenkins的 ...
- 园子的商业化努力-行行AI人才培养「常青藤计划」
各位园子的小伙伴: 感谢大家长期对园子的支持,AI大模型出现之后,各行各业都在积极思考如何应对,如何把业务场景和AI结合.在这个过程中,AI人才缺乏是最核心的问题. 基于此,园子打算在AI人才培养方面 ...
- Kubernetes(k8s)网络策略NetworkPolicy
目录 一.系统环境 二.前言 三.网络策略(NetworkPolicy)简介 四.创建pod和svc 五.没有网络策略的条件下访问pod 六.给pod添加网络策略 6.1 入站网络策略 6.1.1 入 ...
- .net 项目静态文件自动压缩打包
打包工具选型 在 ASP.NET MVC 时代,我们常使用 BundleCollection 设置需要打包压缩的 js 和 css 文件,运行时框架会自动处理打包压缩过程并将最终结果传入响应. ASP ...
- The content of element type “web-app“ must match 解决方法
报错原因 问题描述 : 在创建 SpringMVC 时 , 选用 idea 的 webapp 模板来创建 , xml 配置文件中进行配置时发现提示警告 警告如下: 这错误大概的意思就是 ...
- Python编程和数据科学中的人工智能:如何创建复杂的智能系统并提高模型性能
目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 标题:<Python编程和数据科学中的人工智能:如何创建复杂的智能系统并提高模型性能> 1. 引 ...