Claude Code / Codex Git 版本管理完整使用指南

Claude Code / Codex Git 版本管理完整使用指南

本文档涵盖在 Claude Code 与 Codex 中进行 Git 版本管理的所有常用场景,每个场景均附带可直接使用的中文提示词。


目录

  1. 概述
  2. 初始化与基础配置
  3. 日常提交
  4. 分支管理
  5. 查看历史与变更
  6. 远程仓库操作
  7. [Pull Request 管理](#Pull Request 管理)
  8. 合并与冲突解决
  9. 版本回退与撤销
  10. 标签管理
  11. [Stash 暂存](#Stash 暂存)
  12. [Worktree 隔离开发](#Worktree 隔离开发)
  13. [.gitignore 管理](#.gitignore 管理)
  14. 高级操作
  15. 安全注意事项
  16. 常见问题与最佳实践
  17. 提示词速查表

1. 概述

Claude Code 中 Git 的工作方式

  • Claude Code 通过 Bash 工具 执行 Git 命令,与你在终端中使用 Git 完全一致
  • 内置 /commit 斜杠命令,可以自动分析变更并生成规范的提交信息
  • 支持通过 gh(GitHub CLI)进行 PR、Issue 等 GitHub 操作
  • 所有危险操作 (force push、reset --hard、删除分支等)会先征求你的确认
  • 提交信息末尾会自动附加 Co-Authored-By: Claude 署名

Codex 中 Git 的工作方式

  • Codex 同样是通过终端命令执行 Git,本质上就是替你运行 git statusgit diffgit commitgit push 等命令
  • Codex 没有固定的 /commit 斜杠命令,更常见的方式是直接用自然语言下达 Git 任务
  • 默认不会擅自提交、推送或重写历史;只有你明确要求后才会执行
  • git reset --hardgit push --force、删除分支、覆盖文件等高风险操作会非常谨慎,通常会再次确认
  • 更适合"先检查、再执行"的流程:先让它查看 git status / git diff --stat / git log,再决定提交、推送或回退

两者差异速览

能力 Claude Code Codex
快速提交 /commit 自然语言要求"检查并提交"
Worktree 可用内置 .claude/worktrees/ 工作流 通常直接使用 git worktree add/list/remove
PR / GitHub 常用 gh 命令 同样可通过 gh,前提是本机已安装并登录
风险控制 根据权限模型确认 根据沙箱/审批和危险命令规则确认

权限说明

在 Claude Code 和 Codex 中,Git 操作都会受权限或审批机制影响:

  • 只读操作(status、log、diff):通常自动执行
  • 写入操作(commit、push):根据权限设置可能需要确认
  • 危险操作(force push、reset --hard、删除分支):始终需要确认
  • Codex 额外注意:如果操作涉及受限目录、跨工作区写入或高风险命令,可能会先请求你授权

2. 初始化与基础配置

场景 2.1:为新项目初始化 Git 仓库

提示词:

复制代码
帮我在当前项目目录初始化一个 Git 仓库,创建合适的 .gitignore 文件,然后做一个初始提交

进阶提示词:

复制代码
帮我初始化 Git 仓库,这是一个 Python 科研项目,.gitignore 要排除数据文件(.csv、.mat、.npy)、
模型文件(.pth、.pkl)、Jupyter 的 checkpoint、conda 环境目录,然后做初始提交

场景 2.2:查看/修改全局 Git 配置

提示词:

复制代码
查看我当前的 Git 全局配置

帮我把 Git 全局用户名改为 xxx,邮箱改为 xxx@xxx.com

场景 2.3:配置 SSH 密钥连接 GitHub

提示词:

复制代码
帮我检查是否已有 SSH 密钥,如果没有就生成一个新的,并告诉我怎么添加到 GitHub

3. 日常提交

场景 3.1:使用 /commit 斜杠命令(Claude Code 推荐)

这是最简单的提交方式。直接在 Claude Code 中输入:

复制代码
/commit

Claude Code 会自动:

  1. 运行 git statusgit diff 查看所有变更
  2. 分析变更内容,生成描述性的提交信息
  3. 暂存相关文件并提交

场景 3.1B:在 Codex 中自然语言提交(推荐)

Codex 没有固定的 /commit 命令,推荐直接这样说:

提示词:

复制代码
检查当前 Git 改动,确认没有误提交的数据文件或临时文件,然后帮我提交

先看一下 git status 和 diff,再把本次修改提交掉,commit message 用 conventional commit 风格

只提交和这次磁补偿算法修复相关的文件,提交信息写清楚修复内容

Codex 通常会先:

  1. 查看 git statusgit diff --statgit diff
  2. 如有需要,提醒你未追踪的大文件、数据文件或敏感文件
  3. 在你明确要求后执行 git addgit commit

如果你还想继续推送,可以接着说:

复制代码
提交完成后,把当前分支推送到 origin

场景 3.2:带说明的提交

提示词:

复制代码
帮我提交当前修改,这次修改主要是修复了磁补偿算法中椭球拟合的数值溢出问题

帮我提交,说明是添加了新的实验数据预处理模块

场景 3.3:只提交部分文件

提示词:

复制代码
只提交 src/compensation.py 和 src/utils.py 这两个文件的修改,其他改动先不提交

帮我把 models/ 目录下的修改单独提交,和 tests/ 的修改分开

场景 3.4:查看当前有哪些修改还没提交

提示词:

复制代码
看看当前有什么改动还没提交

帮我看一下工作区的状态,哪些文件改了、哪些是新增的

场景 3.5:提交信息规范

提示词:

复制代码
帮我提交,提交信息用 conventional commit 格式(如 feat:、fix:、docs: 前缀)

帮我提交,提交信息写成英文,符合开源项目规范

注意: Claude Code 和 Codex 默认都不会主动提交。只有你明确要求"提交"时才会执行 git commit;其中 /commit 是 Claude Code 专属快捷方式。


4. 分支管理

场景 4.1:创建新分支

提示词:

复制代码
创建一个新分支叫 feature/ellipsoid-fitting,然后切换过去

基于 main 分支创建一个新分支 fix/numerical-overflow,然后切换过去

场景 4.2:查看所有分支

提示词:

复制代码
列出所有本地和远程分支

看看当前在哪个分支上,还有哪些其他分支

场景 4.3:切换分支

提示词:

复制代码
切换到 main 分支

切换到 develop 分支,如果有未提交的修改先提醒我

场景 4.4:删除分支

提示词:

复制代码
删除本地的 feature/old-experiment 分支(已合并的)

帮我清理已经合并到 main 的本地分支

场景 4.5:重命名分支

提示词:

复制代码
把当前分支从 dev 重命名为 develop

注意: 删除分支是危险操作,无论在 Claude Code 还是 Codex 中,都应先确认目标分支是否已合并,再执行删除。


5. 查看历史与变更

场景 5.1:查看提交历史

提示词:

复制代码
看看最近 10 次提交记录

看看 compensation.py 这个文件的提交历史

看看最近一周的提交记录

场景 5.2:查看某次提交的具体内容

提示词:

复制代码
看看最近一次提交具体改了什么

看看提交 abc1234 的详细改动

场景 5.3:查看文件的修改差异

提示词:

复制代码
看看当前工作区和上次提交之间的差异

对比 main 分支和当前分支的差异

看看 src/model.py 这个文件相比上次提交改了哪些地方

场景 5.4:查看谁修改了某行代码(git blame)

提示词:

复制代码
看看 src/compensation.py 第 45-60 行是谁在什么时候改的

场景 5.5:搜索提交历史

提示词:

复制代码
搜索提交记录中包含"椭球拟合"或"ellipsoid"的提交

找到最近修改过 config.yaml 的提交

6. 远程仓库操作

场景 6.1:关联远程仓库

提示词:

复制代码
把当前仓库关联到 GitHub 远程仓库 https://github.com/username/repo.git

查看当前关联的远程仓库地址

场景 6.2:推送到远程

提示词:

复制代码
把当前分支推送到远程

推送当前分支到远程,如果远程还没有这个分支就创建

场景 6.3:从远程拉取更新

提示词:

复制代码
从远程拉取最新代码

先 fetch 看看远程有什么更新,但先不合并

场景 6.4:同步 fork 仓库

提示词:

复制代码
帮我把 fork 仓库和上游仓库同步,上游地址是 https://github.com/original/repo.git

注意: 推送操作会影响远程仓库。无论使用 Claude Code 还是 Codex,都建议先确认当前分支、远程名称和目标分支,再执行推送。


7. Pull Request 管理

场景 7.1:创建 PR

提示词:

复制代码
帮我创建一个 PR,合并到 main 分支

Claude Code 会自动:

  1. 检查当前分支状态和与 main 的差异
  2. 分析所有提交内容
  3. 生成 PR 标题和详细描述
  4. 使用 gh pr create 创建 PR

带详细说明的提示词:

复制代码
帮我创建 PR 到 main 分支,标题简短说明是优化了补偿算法性能,描述里详细列出改动点

场景 7.2:查看 PR 状态

提示词:

复制代码
看看当前仓库有哪些开着的 PR

看看 PR #42 的详情和评论

场景 7.3:查看 PR 的 review 评论

提示词:

复制代码
看看 PR #42 的 review 评论,帮我整理需要修改的地方

场景 7.4:根据 review 意见修改代码并更新 PR

提示词:

复制代码
根据 PR #42 的 review 意见修改代码,改完后提交并推送

场景 7.5:合并 PR

提示词:

复制代码
合并 PR #42,使用 squash merge 方式

前提: 需要安装并登录 GitHub CLI(gh auth login)。
补充(Codex): 这些 PR 场景同样适用于 Codex,本质上仍是调用 ghgit 命令;如果你的环境里没有 gh,可以先让 Codex 检查并提示你安装。


8. 合并与冲突解决

场景 8.1:合并分支

提示词:

复制代码
把 feature/new-model 分支合并到当前分支

把 main 分支的最新内容合并到当前开发分支

场景 8.2:处理合并冲突

提示词:

复制代码
合并出现冲突了,帮我看看冲突在哪些文件,分析一下两边的改动

帮我解决当前的合并冲突,优先保留当前分支的逻辑,但合并 main 分支新增的功能

更精确的提示词:

复制代码
帮我解决 src/model.py 的合并冲突:
- 保留当前分支的算法实现
- 采用 main 分支新增的参数配置
- 合并后确保代码能正常运行

场景 8.3:中止合并

提示词:

复制代码
这次合并太复杂了,先取消这次合并操作

注意: 冲突解决涉及代码逻辑判断,建议详细描述保留策略,不要完全依赖自动处理。


9. 版本回退与撤销

场景 9.1:撤销工作区的修改(未暂存)

提示词:

复制代码
我改坏了 src/utils.py,帮我恢复到上次提交的状态

帮我丢弃所有未暂存的修改,恢复到最后一次提交的状态

场景 9.2:撤销已暂存的文件(git reset)

提示词:

复制代码
我误把 data/ 目录 add 进去了,帮我取消暂存,但不要删除文件

场景 9.3:撤销最近一次提交(保留修改)

提示词:

复制代码
撤销最近一次提交,但是保留代码改动(只是取消提交,不丢失修改)

场景 9.4:回退到特定版本

提示词:

复制代码
帮我看看最近 5 次提交的记录,我想回退到某个版本

回退到提交 abc1234 的状态,用 revert 方式(生成一个新的回退提交,不改历史)

场景 9.5:恢复被删除的文件

提示词:

复制代码
我不小心删了 src/experiment.py,帮我从 Git 历史里恢复

安全提示:

  • git revert(推荐):生成新提交来撤销,不改变历史,安全
  • git reset --hard(危险):直接回退并丢弃所有修改,不可逆
  • Claude Code 对危险操作会先确认

10. 标签管理

场景 10.1:创建标签

提示词:

复制代码
给当前版本打一个标签 v1.0.0,备注"首个稳定版本"

给提交 abc1234 打标签 v0.2.0-beta

场景 10.2:查看标签

提示词:

复制代码
列出所有标签

场景 10.3:推送标签到远程

提示词:

复制代码
把标签 v1.0.0 推送到远程

把所有标签推送到远程

场景 10.4:删除标签

提示词:

复制代码
删除本地标签 v0.1.0-test

删除远程的标签 v0.1.0-test

11. Stash 暂存

场景 11.1:暂存当前修改

提示词:

复制代码
我需要临时切换分支,先把当前的修改暂存起来

帮我 stash 当前的改动,备注是"进行到一半的补偿算法优化"

场景 11.2:查看暂存列表

提示词:

复制代码
看看 stash 里存了哪些内容

场景 11.3:恢复暂存的修改

提示词:

复制代码
把最近一次 stash 的修改恢复回来

恢复 stash@{2} 的修改

场景 11.4:删除暂存记录

提示词:

复制代码
删除最近一次 stash 记录

清空所有 stash

12. Worktree 隔离开发

Git Worktree 允许在同一个仓库中创建多个工作目录,适合同时进行多个任务。

场景 12.1:在 Claude Code 中使用 Worktree

在 Claude Code 对话中直接说:

提示词:

复制代码
帮我创建一个 worktree 来做实验性修改

Claude Code 会使用内置的 Worktree 功能,在 .claude/worktrees/ 目录下创建隔离的工作环境。

场景 12.1B:在 Codex 中使用原生 Git Worktree

Codex 更适合直接使用 Git 原生命令管理 worktree。

提示词:

复制代码
在 ../project-hotfix 路径创建一个基于 main 分支的 git worktree,用于紧急修复

列出当前仓库所有 worktree,并帮我删除已经不用的那个

在新的 worktree 里创建分支 feature/experiment-2,然后切换过去

Codex 通常会直接调用 git worktree addgit worktree listgit worktree remove,而不是依赖 .claude/worktrees/ 目录约定。

场景 12.2:退出 Worktree

提示词:

复制代码
退出当前 worktree,保留修改

退出当前 worktree,不需要了直接删除

场景 12.3:手动管理 Worktree

提示词:

复制代码
列出当前仓库的所有 worktree

在 ../project-hotfix 路径创建一个 worktree,基于 main 分支

13. .gitignore 管理

场景 13.1:创建/更新 .gitignore

提示词:

复制代码
帮我创建一个 .gitignore,这是 Python 科研项目,要排除数据文件、模型权重、日志和临时文件

帮我在 .gitignore 里加上 *.mat 和 results/ 目录

场景 13.2:检查哪些文件被忽略

提示词:

复制代码
看看哪些文件被 .gitignore 忽略了

检查 data/raw.csv 有没有被 .gitignore 排除

场景 13.3:停止追踪已提交的文件

提示词:

复制代码
data/cache.pkl 之前已经提交过了,现在想把它从 Git 追踪中移除但保留本地文件

14. 高级操作

场景 14.1:Cherry-pick(拣选提交)

提示词:

复制代码
把 develop 分支上的提交 abc1234 拣选到当前分支

看看 feature 分支最近 5 次提交,帮我把第 2 个和第 4 个 cherry-pick 到 main

场景 14.2:Rebase(变基)

提示词:

复制代码
把当前分支 rebase 到 main 分支上,让提交历史更干净

注意: Claude Code 和 Codex 都不适合交互式 rebase(git rebase -i)这类强依赖编辑器交互的流程。如需压缩提交,可以直接这样说:

复制代码
帮我把当前分支最近 3 次提交压缩成一个提交

场景 14.3:子模块管理

提示词:

复制代码
添加 https://github.com/xxx/lib.git 作为子模块,放在 third_party/lib 目录

更新所有子模块到最新版本

场景 14.4:查找引入 bug 的提交(git bisect)

提示词:

复制代码
帮我用 git bisect 找出哪个提交引入了 bug。
已知 v1.0.0 标签时是好的,当前版本有问题。
判断标准是运行 python test_compensation.py 如果返回非零就是有 bug

场景 14.5:导出/打包

提示词:

复制代码
把当前版本打包成一个 zip/tar.gz 文件,排除 .git 目录

15. 安全注意事项

Claude Code 的内置安全机制

操作 安全级别 说明
git status/log/diff 安全 只读操作,自动执行
git add/commit 一般 根据权限设置可能需确认
git push 需确认 影响远程仓库,每次确认
git push --force 高危 始终需要确认,禁止对 main/master
git reset --hard 高危 始终需要确认,会丢失修改
git branch -D 需确认 强制删除分支
git clean -f 高危 删除未追踪文件

Codex 的安全边界

  • Codex 默认优先使用非交互式 Git 命令,不依赖需要人工在编辑器中逐步操作的流程
  • git reset --hardgit checkout --git push --forcegit branch -D 等命令会非常谨慎
  • 如果当前工作区本来就很脏,Codex 通常会先汇报现状,而不是擅自覆盖、回滚或清空已有修改
  • 如果目标路径超出当前工作区的可写范围,Codex 可能会先请求你授权后再执行写操作

你应该知道的规则

  1. 永远不要让 Claude Code force push 到 main/master --- 这是硬性保护
  2. Claude Code 默认创建新提交而非 amend --- 避免修改已有历史
  3. 提交时不会自动 git add . --- 会选择性地添加相关文件,避免误提交敏感文件
  4. 遇到 .env、密钥文件等会主动警告 --- 不会将含密钥的文件提交
  5. pre-commit hook 失败后会修复问题并重新提交 --- 而非跳过 hook

16. 常见问题与最佳实践

Q1:Claude Code 或 Codex 会自动提交吗?

都不会。 除非你明确要求"帮我提交",否则它们都只会查看状态、分析变更或修改文件,不会自动执行 git commit。另外,/commit 是 Claude Code 的快捷命令,不是 Codex 的固定命令。

Q2:提交信息风格怎么控制?

Claude Code 会自动查看你仓库最近的提交历史来匹配风格。你也可以明确指定:

复制代码
以后提交信息都用 conventional commit 格式,英文撰写

Q3:怎么避免误提交大文件或敏感文件?

复制代码
帮我检查当前仓库有没有大文件(>10MB)或敏感文件(.env、密钥、token)被追踪

Q4:多人协作时的推荐流程

复制代码
帮我按以下流程操作:
1. 先从 main 拉取最新代码
2. 创建新分支 feature/xxx
3. (你写代码的过程)
4. 提交并推送
5. 创建 PR

Q5:怎么设置 Git Hooks?

复制代码
帮我配置一个 pre-commit hook,在提交前自动运行 python -m pytest tests/

Q6:Codex 里没有 /commit 怎么办?

直接用自然语言告诉 Codex 你想要的提交流程即可,例如:

复制代码
检查当前改动并提交,commit message 用 conventional commit 风格

先确认哪些文件会被提交,再只提交和本次 bugfix 相关的修改

先看一下当前分支相对 main 的差异,确认无误后再提交并推送

最佳实践清单

  • 频繁小提交 > 大量堆积后一次提交
  • 分支开发 > 直接在 main 上改
  • 先 pull 再 push > 避免冲突
  • 写清提交信息 > "fix bug" 这类无意义描述
  • 用 .gitignore > 手动排除
  • 用 revert 回退 > 用 reset --hard
  • PR + review > 直接 push 到 main

17. 提示词速查表

按使用频率排列,可直接复制到 Claude Code 或 Codex 中使用;其中 /commit 为 Claude Code 专属:

日常高频

场景 提示词
快速提交 /commit
带说明提交 帮我提交当前修改,说明是 xxx
查看状态 看看当前有什么改动没提交
查看差异 看看当前改了什么
查看历史 看看最近 10 次提交
创建分支 创建分支 feature/xxx 并切换过去
切换分支 切换到 main 分支
推送 推送当前分支到远程
拉取 从远程拉取最新代码

PR 相关

场景 提示词
创建 PR 帮我创建 PR 到 main 分支
查看 PR 看看 PR #42 的详情和评论
按 review 修改 按 PR #42 的 review 意见修改代码,改完提交推送

分支与合并

场景 提示词
合并分支 把 feature/xxx 合并到当前分支
解决冲突 帮我分析并解决当前的合并冲突
同步 main 把 main 的最新内容合并到当前分支

回退与修复

场景 提示词
撤销文件改动 恢复 xxx.py 到上次提交的状态
撤销最近提交 撤销最近一次提交,保留修改
安全回退 用 revert 方式撤销提交 abc1234
恢复删除文件 从 Git 历史恢复被删除的 xxx.py

其他操作

场景 提示词
暂存修改 帮我 stash 当前改动,备注 xxx
恢复暂存 恢复最近的 stash
打标签 给当前版本打标签 v1.0.0
创建 gitignore 创建 .gitignore,Python 科研项目
Cherry-pick 把提交 abc1234 拣选到当前分支
检查大文件 检查有没有大文件或敏感文件被追踪

Codex 高频提示词

场景 提示词
检查并提交 检查当前 Git 改动,确认没有误提交的数据文件或临时文件,然后帮我提交
指定格式提交 把当前修改提交掉,commit message 用 conventional commit,英文
只提交部分文件 只提交 src/ 和 tests/ 下与本次修复相关的文件
安全推送 先检查当前分支是否落后远端,再把当前分支推送到 origin
查看相对差异 先看一下当前分支相对 main 改了什么
安全回退 不要改历史,用 revert 撤销最近一次提交
Worktree 在 ../repo-hotfix 创建一个基于 main 的 git worktree
生成 PR 描述 根据当前分支相对 main 的改动,帮我生成 PR 标题和描述

组合工作流

完整功能开发流程:

复制代码
帮我按以下流程操作:
1. 从 main 拉取最新代码
2. 创建分支 feature/改进椭球拟合算法
3. 等我写完代码后告诉你
---
(写完代码后)
帮我提交所有改动,然后推送并创建 PR 到 main

紧急修复流程:

复制代码
帮我从 main 创建 hotfix/修复数值溢出 分支,切换过去
---
(修复完成后)
帮我提交修复,推送并创建 PR,标记为紧急

版本发布流程:

复制代码
帮我准备 v1.2.0 版本发布:
1. 确保 main 分支是最新的
2. 打标签 v1.2.0,备注"新增自适应补偿功能"
3. 推送标签到远程

文档版本: v1.1 | 最后更新: 2026-04-12 | 适用于: Claude Code / Codex

相关推荐
Are_You_Okkk_2 小时前
中小型团队知识库搭建:AI开源实践方案
人工智能·开源
Figo_Cheung2 小时前
Figo 关于OntoGuard-CRE 技术白皮书——已在gitee上开源发布
人工智能·安全·gitee·开源·knowledge graph
墨北小七2 小时前
BERT在小说大模型中的核心定位:理解者、解码者、守护者
人工智能·深度学习·神经网络·transformer
TechMasterPlus2 小时前
Hermes Agent 源码深度解析:自我进化的 AI Agent 框架架构设计
人工智能
萧逸才2 小时前
【learn-claude-code-4j】S14FeiShu - 飞书群聊智能体
java·人工智能·ai·飞书
TImCheng06092 小时前
内容运营岗位适合考哪个AI证书,与算法认证侧重点分析
人工智能·算法·内容运营
Gofarlic_OMS2 小时前
Windchill的license合规使用报告自动化生成与审计追踪系统
大数据·运维·人工智能·云原生·自动化·云计算
爱上珍珠的贝壳2 小时前
ESP32-S3-CAM:豆包语音识别文字后控制小车(规划)
人工智能·音频·语音识别·esp32-s3·小车
甜辣uu2 小时前
基于深度学习的CT图像肺结节分割与检测系统
人工智能·深度学习