git-lines
为LLM和自动化工具设计的非交互式、行级Git暂存工具。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:git-lines。 它的用途是:为LLM和自动化工具设计的非交互式、行级Git暂存工具。 完整的 Skill 内容见:https://321skill.com/skills/git-lines/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
‘我修改了config.nix文件,添加了功能A和功能B的配置,但它们混在同一个代码块里。请使用git-lines工具,将这两部分变更拆分成两个独立的、语义清晰的提交。’ 它会先运行 `git-lines diff` 查看变更和行号,然后分别执行 `git-lines stage config.nix:10,11` 和 `git-lines stage config.nix:12` 来暂存不同的功能,最后创建两个提交信息明确的commit。
介绍
git-lines 解决了LLM和自动化脚本在代码修改后无法进行精细化Git暂存的痛点。传统的 git add -p 需要人工交互,而AI或脚本只能对整个文件进行暂存,导致当单个文件包含多个语义独立的修改时,无法生成清晰、聚焦的提交。
该工具提供了一个非交互式命令行界面。用户或AI首先通过 git-lines diff 查看带行号的变更,然后使用 git-lines stage <文件>:<行号> 的语法精确指定要暂存的新增或删除行,最后像往常一样提交。整个过程无需人工介入,完全可脚本化。
它非常适合依赖AI助手(如Claude、Cursor)或自动化脚本进行代码修改的开发者、运维工程师和智能体开发者。当AI助手完成代码重构、功能添加或Bug修复后,开发者可以指令AI使用此工具将混合的变更拆分为多个语义清晰的提交,从而保持版本历史的整洁和可追溯性。
使用建议:在让AI执行代码修改任务前,确保环境中已安装此工具。为AI提供清晰的指令,例如“请使用git-lines将新增的配置项和修复的Bug拆分为两个独立的提交”。注意,它主要处理文本行的增删,对于复杂的重命名或文件移动操作,仍需结合常规Git命令。
核心特点
与需要人工交互的 `git add -p` 不同,git-lines是完全非交互的,专为LLM和自动化流程设计;与只能按文件暂存的 `git add <file>` 相比,它提供了精确到行级别的控制能力,允许在单个文件内拆分语义不同的变更。
注意事项
不适合处理涉及文件重命名、移动或二进制文件变更等复杂Git操作场景。
常见问题
git-lines 和 git add -p 有什么区别?
git add -p 是交互式的,需要人工在终端选择;git-lines 是非交互式的命令行工具,可通过脚本或AI直接调用,实现行级精准暂存。
它能处理删除的行吗?
可以,使用负号表示删除的行,例如 `git-lines stage file.nix:-10` 表示暂存对旧版本第10行的删除操作。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/git-lines/raw/index.md 读取 git-lines 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/git-lines/raw/index.md(查看排版版本)