Git 集成
Aider 在与 git 仓库中的代码协作时表现最佳。 Aider 深度集成了 git,这使得以下操作变得简单:
- 使用
/undo
命令立即撤销任何你不喜欢的 AI 修改 - 回溯 git 历史记录查看 aider 对代码所做的更改
- 在 git 分支上管理一系列 aider 的修改
Aider 通过以下方式使用 git:
- 当你在没有 git 仓库的目录中启动 aider 时,它会询问是否创建 git 仓库
- 每当 aider 编辑文件时,它会以描述性的提交信息提交这些更改,这使得撤销或审查 aider 的更改变得容易
- 在编辑已有未提交更改(脏文件)的文件前,aider 会特别小心。aider 会首先以描述性的提交信息提交任何预先存在的更改 这样可以将你的编辑与 aider 的编辑分开,并确保如果 aider 做出了不合适的更改,你永远不会丢失工作内容
聊天中的命令
Aider 还允许你使用 聊天命令 来执行 git 操作:
/diff
将显示自你上次发送消息以来的所有文件更改/undo
将撤销并丢弃最后一次更改/commit
以合理的提交信息提交所有脏更改/git
允许你运行原始 git 命令来更复杂地管理你的 git 历史记录
你也可以使用你喜欢的 git 工具在 aider 之外管理你的 git 历史记录。
禁用 Git 集成
虽然不推荐,但您可以通过以下几种方式禁用 aider 的 Git 功能:
--no-auto-commits
会阻止 aider 自动提交每次更改--no-dirty-commits
会阻止 aider 在应用编辑前提交未暂存的文件--no-git
将完全禁用 aider 对 Git 的使用。您应确保对正在处理的文件进行合理备份--git-commit-verify
会在执行 Git 提交时运行 pre-commit 钩子。默认情况下,aider 会使用--no-verify
标志跳过 pre-commit 钩子(--git-commit-verify=False
)
提交信息
aider 会向 --weak-model
发送差异内容和聊天历史记录的副本,并要求其生成提交信息。默认情况下,aider 创建的提交信息遵循 Conventional Commits 规范。
您可以通过 --commit-prompt
选项自定义 提交提示。该选项可以直接在命令行中使用,也可以通过配置文件或环境变量进行配置。
提交归属标记
Aider 会对它创作或提交的 commit 进行标记:
- 如果 aider 创作了 commit 中的变更内容,该 commit 的 git author 和 git committer 名称元数据中会附加 “(aider)” 标记
- 如果 aider 只是提交了变更(在脏文件中发现的变更),该 commit 的 git committer 名称元数据中会附加 “(aider)” 标记
你可以使用 --no-attribute-author
和 --no-attribute-committer
选项来禁用对 git author 和 committer 名称字段的修改。
此外,你还可以使用以下选项为提交消息添加前缀:
--attribute-commit-message-author
:如果 aider 创作了变更,则在提交消息前添加 ‘aider: ‘ 前缀--attribute-commit-message-committer
:无论 aider 是否创作了变更,都在所有提交消息前添加 ‘aider: ‘ 前缀
最后,你可以使用 --attribute-co-authored-by
选项让 aider 在提交字符串末尾添加 Co-authored-by 尾注。除非你明确启用了相关设置,否则这将禁用在 git author 和 git committer 名称后附加 (aider)
标记的功能。