Cursor实践项目-07-git教程编写
项目说明
cursor项目实践-07-git教程编写
耗费时间:约2-3小时
Cursor使用次数:10次左右
在这个项目中,我将记录如何利用Cursor作为AI编程助手,根据一份详细的git命令学习的需求文档,从零开始主导并生成一部完整、高质量、项目驱动的Git双语教程。
我的目标是检验并展示如何引导AI生成想要学习的编程相关知识的教程,通过模型来完成自学,改变原来需要自己搜索资料、整理资料、编写资料的繁琐过程。
你可以将这个方法扩展到任何编程知识的学习上,最小必要知识,项目驱动。
成果展示
-
通过Cursor成功创建了一个结构完整、内容丰富的多章节Git教程,包含课程、练习和独立的实战项目,所有内容均遵循我预设的中英双语格式。
- 遵循最小必要知识、通过项目驱动、双语格式、内容丰富、结构完整
- 最终项目包含了超过40个Markdown文件,分布在清晰的目录结构中。
- 内容从Git基础、版本管理、分支、远程协作一直到高级操作,形成了一个完整的学习路径。
前置准备
-
Cursor
- 版本:1.2.4
- cursor rules : Cursor Rules
- agent: claude-4-sonnet-thinking
- project rules: cursorpractice-06-10xUse
-
整体流程
-
- 设置cursor规则->设置项目规则(10xUse)->和LLM沟通需求->cursor编码->调试输出
-
问题记录
-
问题1:教程编写过程中,cursor容易丢失上下文,编写不同章节时,内容不一致
- 给定上下文,教程根目录有readme对整个教程进行说明、不同章节也有readme对章节进行说明
- 提交给cursor时,让他读取这两个readme和项目文档,再进行编写
-
问题2:大文档编写时,超过2000行,cursor很容易中断,尤其教程中涉及到代码
- 要求必须最小必要、示例代码分离、项目驱动
- 对超长文档,需要分步进行
使用心得
- 活用10xUse,可以减少Cursor的使用次数
- 指令必须带着上下文,否则cursor容易丢失上下文,编写不同章节时,内容不一致。要求读取readme。
- 编程相关教程主要会涉及到代码,一定要分离将代码分离,独立练习
项目详细步骤
-
下达初始指令:我首先向Cursor提供了核心需求文件
pj-requirement.md
,并要求它总结需求,以此来检验它对任务的初步理解。 -
生成项目文档和教程索引 :cursor生成项目文档和教程索引。开始生成章节1的内容
-
不中断继续生成:在cursor想结束第一个次请求的时候,调用规则的命令,让他继续生成
-
继续生成:最终一次请求生成了两个章节的内容和练习。
-
继续完成其他章节:cursor继续完成其他章节
-
总结git常用命令和场景指引:cursor总结git常用命令速查表
-
生成项目文档和教程索引 :cursor生成项目文档和教程索引。开始生成章节1的内容
Git 常用命令速查表
本速查表汇总了 Git 日常使用中最常见的命令,方便快速查阅。
目录
基本操作
命令 | 说明 |
---|---|
git init | 在当前目录初始化一个新的 Git 仓库。 |
git clone [url] | 克隆一个远程仓库到本地。 |
git status | 查看工作区和暂存区的状态。 |
版本管理
命令 | 说明 |
---|---|
git add [file] | 将文件修改添加到暂存区。使用 . 代替 [file] 可以添加所有更改。 |
git commit -m "[message]" | 将暂存区的内容提交到本地仓库,并附上提交信息。 |
git log | 查看提交历史记录。 |
git diff | 查看工作区与暂存区的差异。 |
git diff --staged | 查看暂存区与最新提交的差异。 |
git reset [file] | 将文件从暂存区移出,但保留工作区的修改。 |
git checkout -- [file] | 丢弃工作区的修改,恢复到最近一次提交的状态。 |
分支操作
命令 | 说明 |
---|---|
git branch | 列出所有本地分支。 |
git branch [branch-name] | 创建一个新分支。 |
git checkout [branch-name] | 切换到指定分支。 |
git checkout -b [branch-name] | 创建并立即切换到一个新分支。 |
git merge [branch-name] | 将指定分支的历史合并到当前分支。 |
git branch -d [branch-name] | 删除一个已经合并的分支。 |
远程协作
命令 | 说明 |
---|---|
git remote -v | 查看所有远程仓库的详细信息。 |
git remote add [name] [url] | 添加一个新的远程仓库。 |
git fetch [remote-name] | 从远程仓库下载最新的历史记录,但不合并。 |
git pull [remote-name] [branch-name] | 从远程仓库拉取最新代码并合并到当前分支。 |
git push [remote-name] [branch-name] | 将本地分支的提交推送到远程仓库。 |
高级命令
命令 | 说明 |
---|---|
git rebase [branch-name] | 将当前分支的提交“变基”到指定分支的顶部。 |
git tag [tag-name] | 在当前提交上创建一个轻量标签。 |
git tag -a [tag-name] -m "[message]" | 创建一个带附注的标签。 |
git submodule add [repository-url] [path] | 添加一个子模块。 |
git stash | 将当前工作区的修改临时保存起来。 |
git stash pop | 恢复最近一次保存的修改。 |
常见场景与解决方案
以下是一些在日常开发中经常遇到的问题及其推荐的解决方法。
场景 | 解决方案 |
---|---|
1. 修改了错误的提交信息 | git commit --amend -m 新的提交信息 (注意:如果提交已推送到远程,修改历史需要谨慎) |
2. 想撤销最近一次的提交 | git reset --soft HEAD~1 (撤销提交,但保留代码更改) |
3. 文件改动了,但想撤销所有本地修改 | git checkout -- . (撤销所有未暂存的修改) |
4. 需要将某个提交应用到当前分支 | git cherry-pick [commit-hash] (“摘取”一个提交并应用它) |
5. 错误地合并了一个分支,需要撤销合并 | git reset --hard ORIG_HEAD (回退到合并之前的状态) |
6. 需要清理未被追踪的文件 | git clean -fd (强制删除未被追踪的文件和目录) |
7. 想查看某个文件的修改历史 | git log -p [file-path] (显示该文件的详细提交记录) |
8. 本地分支落后于远程分支,需要同步 | git fetch origin git reset --hard origin/[branch-name] (强制更新本地分支与远程一致) |
9. 需要临时切换任务,但不想提交当前工作 | git stash (保存当前工作进度) git stash pop (恢复工作进度) |
10. 查找是谁修改了某一行代码 | git blame [file-path] (逐行显示文件的作者和最后修改的提交) |