🧑‍💻 编码代理的Git使用指南

来源: Simon Willison's Agentic Engineering Patterns | 评分: ⭐⭐⭐⭐⭐ (5星) | 日期: 2026-03-21

概述

Git 是与编码代理协作的关键工具。将代码置于版本控制中可以记录代码随时间的变化,并调查和撤销任何错误。所有编码代理都熟练掌握 Git 的功能,包括基础和高级功能。

💡 核心理念: 编码代理的熟练程度意味着我们可以更雄心勃勃地使用 Git。我们不需要记住如何做 Git 的事情,但保持对可能性的了解意味着我们可以充分利用 Git 的全部能力。

核心概念与提示词

初始化仓库

Turn the folder the agent is working in into a Git repository

提交更改

Create a new Git commit to record the changes the agent has made

查看历史

Show me recent changes / last three commits

启动会话的最佳实践

🎯 技巧: 告诉代理查看最近的更改会导致它运行 git log,这可以立即将其上下文加载为最近工作的详细信息——包括修改后的代码和描述这些更改的提交信息。

拉取与合并

Pull the latest changes from the main branch
Explain the pros and cons of different merging strategies

解决合并冲突

编码代理非常擅长解释不同合并策略的优缺点,Git 中的所有操作都是可撤销的,所以尝试新事物几乎没有风险。

高级功能

Git Bisect - 强大的调试工具

Git bisect 是 Git 最强大的调试工具之一,但它有相对陡峭的学习曲线。编码代理可以帮你处理这些样板文件,将 Git bisect 从偶尔使用的工具升级为可以随时部署的工具。

重写历史

💡 思维转变: 不要把 Git 历史看作是实际发生事情的永久记录,而是把它看作描述软件项目进展的故意书写的故事。

撤销提交

Undo my last commit

重写提交信息

Rewrite the commit messages / Combine multiple commits into a single unit

提取代码到新仓库

一个有用的技巧是从较大的仓库中提取代码到一个新仓库,同时保留该代码的关键历史。

Simon 的洞察

  • 前沿模型在提交信息方面通常有很好的品味
  • 他以前坚持自己写提交信息,但现在已经接受代理产生质量通常足够好
  • 在 iPhone 上通过 Claude Code 进行大部分编程
  • 每个会话以 "run uv run pytest" 开始,将代理固定在 TDD 上

原文链接