第 3 章 第一次会话
第 3 章 第一次会话
声明:本文涉及的 Claude Code 为 Anthropic 公司提供的第三方命令行工具,非华为云产品。本文仅从技术实践角度介绍其使用方法,帮助开发者在华为云生态中更高效地开展工作。相关功能与版本以 Anthropic 官方文档为准。
适用版本:Claude Code 2.1.x
3.1 进入正确的目录
这一步 90% 的新手做错。Claude Code 把这个目录当成它的世界:它能读这里的一切,也只默认能改这里的一切。
cd ~/code/my-project # 换成你的项目路径
pwd # 确认一下
ls # 确认里面是你想让它看的文件
claude
⚠️ 踩坑提醒:不要在
~(home 目录)里启动。那等于把你的.ssh、.aws、浏览器配置、所有项目全部暴露给它。先cd,再claude。
如果项目确实分散在多个目录,用 --add-dir 额外授权,别用 home 目录:
claude --add-dir ../shared-lib
💡 华为云提示:如果你的项目托管在 GitCode(码道)上,可以先通过
git clone将仓库克隆到本地工作目录,再在该目录下启动 Claude Code。这样 Claude Code 就能直接读取和管理你的 GitCode 仓库代码。
3.2 认识启动界面
启动后你会看到类似:
██████╗ ██╗ █████╗ ██╗ ██╗██████╗ ███████╗
...
2.1.296 (Claude Code) 模型:Sonnet 5.5
工作目录:~/code/my-project
下面是一个输入框。关键元素:
| 元素 | 含义 |
|---|---|
| 版本号 | 出问题时先报这个 |
| 模型名 | 当前用的模型;用 /model 切换 |
| 工作目录 | 它能看到的根目录 |
| 输入框上方的提示 | 权限模式(如 ⏸ plan mode on)、上下文占用提示 |
| 底部状态栏 | 快捷键提示、可用的 slash 命令入口 |
输入框里:
- 直接打字 → 发送给 Claude
/→ 打开命令与技能列表@→ 引用文件!→ 直接执行 shell 命令
(早期的 # 快速写记忆快捷方式已在 v2.0.70 移除,现在直接说「记住……」即可。)
(每个前缀的完整用法见第 4 章。)
3.3 第一步:让它读懂你的项目
不要一上来就让它改代码。先用只读问题建立信任,同时观察它的工作方式。
这个项目是做什么的?
用了哪些技术和框架?
入口文件在哪?目录结构是怎么组织的?
解释一下 src/auth/ 是怎么处理会话的
📘 官方:Claude Code 会按需读文件,你不需要手动把文件内容贴进去。
观察它在干什么:你会看到它调用 Glob(找文件)、Grep(搜内容)、Read(读文件)的工具调用摘要。默认是折叠显示的一行摘要,按 Ctrl+O 可以切换详细程度。
🔍 补充细节:这是建立直觉的关键时刻——注意它读了几个文件、读了哪些。如果你觉得「它怎么读了这么多无关文件」,说明你的提问太宽泛了(见第 6 章)。
3.4 第二步:做第一处修改
选一个小且安全的改动:
给主文件加一个 hello world 函数
或者更贴近真实工作:
给 README 加上安装说明
给 foo.py 里的 parse_date 函数加个 docstring
它会做什么:
- 找到相关文件(
Glob/Grep) - 读文件(
Read) - 生成修改(
Edit/Write) - 如果是交互模式且权限模式是 Manual,会弹出一个 diff 让你确认
看到 diff 时,你可以:
y/ 选 Yes → 接受n/ 选 No → 拒绝- 直接打字 → 告诉它哪里不对,它重新来
📘 官方:按
Shift+Tab可以循环切换权限模式,决定它是否需要你逐条批准。模式详解见第 7 章。
3.5 第三步:用 git 说话
Claude Code 和 git 是天生一对,因为它本来就在你的终端里。
我改了哪些文件?
commit my changes with a descriptive message
新建一个分支叫 feature/quickstart
看一下最近 5 条提交
帮我解决合并冲突
📘 官方:它会暂存改动、写提交信息、建分支、开 PR。开 PR 需要对应平台的 CLI 工具(见 3.9)。
💡 华为云提示:如果你的代码托管在 GitCode 上,Claude Code 同样可以通过
git命令完成提交、分支管理等操作。对于创建合并请求(MR),可配合 GitCode CLI 或通过 GitCode API 实现。
3.6 会话是怎么保存的
每一条消息、每一次工具调用和结果,都写进一个纯文本 JSONL 文件:
~/.claude/projects/<项目路径编码>/<会话 ID>.jsonl
项目路径里的非字母数字字符会被替换成 -,例如 /Users/you/my-app → -Users-you-my-app。
📘 官方:正是这个机制让回滚、恢复、分叉成为可能(见第 7 章 checkpointing)。默认保留 30 天(
cleanupPeriodDays)。
恢复与分叉
| 命令 | 作用 |
|---|---|
claude |
新会话 |
claude -c / claude --continue |
继续当前目录最近一次会话 |
claude -r / claude --resume |
打开会话选择器,可带搜索词 |
claude --resume <session-id> |
直接恢复指定会话 |
claude --fork-session |
配合 resume/continue,复制历史到新会话 ID,原会话不变 |
claude -n <名字> |
给会话起名,便于之后找 |
会话内:
| 命令 | 作用 |
|---|---|
/resume |
切换到别的会话 |
/rename |
重命名当前会话 |
/branch |
从当前点分叉出一个新会话 |
/export |
导出会话 |
🔍 补充细节:把会话当成分支来管理。一个工作流一个会话,起个描述性名字(
oauth-migration),比「那个改登录的会话」好找一万倍。
分支切换时会发生什么
Claude 看到的是当前分支的文件。你切分支,它看到的是新分支的文件,但对话历史不变——它记得你们之前聊过什么。
⚠️ 踩坑提醒:这意味着你可以在对话中途切分支然后说「现在改新分支上的代码」。但如果两个分支的文件差异很大,先
/clear再开始更安全。
同一个会话在两个终端打开
Claude Code 会在 ~/.claude/sessions/ 里放锁文件检测并发。同一个会话在第二个终端恢复时,会以「追加」的方式写入同一个 JSONL。不要在两个终端同时操作同一个会话,行为不可预期。
3.7 第一次会话该做与不该做
| ✅ 该做 | ❌ 不该做 |
|---|---|
| 从只读的问题开始 | 一上来就「帮我把这个项目重构了」 |
| 一次做一件小事 | 在一个会话里连续做五件不相关的事 |
| 看到错误立刻纠正 | 忍着看它做完 10 分钟再说「不对」 |
| 让它跑测试验证 | 只看它的总结,不看测试输出 |
任务切换时 /clear |
在同一个会话里从「修 bug」跳到「写周报」 |
3.8 退出
/exit- 连按两次
Ctrl+D - 按
Ctrl+C(会提示确认)
🔍 补充细节:
Ctrl+C按一次是中断当前操作,连按两次是退出。误按了不要慌。
3.9 建议安装的 CLI 工具
Claude Code 跟命令行工具配合得极好,因为它读得懂 --help。装上以下工具,能力立刻上一个台阶:
GitCode CLI(码道)
如果你的代码托管在华为云 GitCode 上,安装 GitCode CLI 后,Claude Code 可以直接帮你创建合并请求、查看 Code Review、管理 Issue:
# 安装 GitCode CLI(具体安装方式以 GitCode 官方文档为准)
# 安装后完成认证配置
gitcode auth login
💡 华为云提示:GitCode 是华为云提供的代码托管与协作平台。配合 Claude Code 使用,可以实现从代码编写到提交、合并请求的完整闭环。
jq(JSON 处理工具)
用 jq 处理 JSON 输出,配合 claude -p 做管道操作:
# macOS
brew install jq
# Linux(Ubuntu/Debian)
sudo apt-get install jq
# Linux(CentOS/RHEL)
sudo yum install jq
📘 官方:CLI 工具是跟外部服务交互最省上下文的方式。没有对应平台 CLI 时 Claude 也能调 API,但未认证请求经常触发限流。
Claude 甚至能自学它没见过的工具:
用 'foo-cli-tool --help' 了解一下 foo 怎么用,然后用它解决 A、B、C
3.10 在华为云场景中使用 Claude Code
Claude Code 作为通用编码助手,可以与华为云开发工作流结合使用:
| 场景 | 说明 |
|---|---|
| 管理 GitCode 仓库 | 在克隆的 GitCode 仓库目录中启动 Claude Code,直接进行代码修改、提交、分支管理 |
| 编写华为云 Terraform 配置 | 让 Claude Code 帮你生成或修改华为云 Terraform(IaC)配置文件,管理云基础设施 |
| 开发华为云应用 | 在本地开发基于华为云 SDK 的应用,Claude Code 辅助编写和调试代码 |
| 处理 CI/CD 配置 | 让 Claude Code 帮你编写或修改 CodeArts 流水线配置文件 |
⚠️ 注意:Claude Code 不具备直接操作华为云资源的能力。如需创建、修改或查询华为云资源(ECS、VPC、OBS 等),请使用华为云官方工具(如
hcloudCLI)或通过 Terraform 管理。不要将 AK/SK 等凭证信息直接写入代码文件中。
3.11 本章要点
- 先
cd到项目根目录,再claude;绝不在~里启动 - 第一次会话:只读提问 → 小改动 → git 操作
- 会话自动存成 JSONL,可以
-c继续、-r选、--fork-session分叉 - 一个工作流一个会话,任务切换就
/clear - 安装 GitCode CLI 和
jq,让开发流程闭环 - Claude Code 可与华为云开发工作流结合使用,但不直接操作云资源
下一步 → 第 4 章 交互模式与快捷键
- 点赞
- 收藏
- 关注作者
评论(0)