🧑💻 编码代理的Git使用指南
概述
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 上