Cursor实践项目-07-git教程编写

项目说明

cursor项目实践-07-git教程编写

耗费时间:约2-3小时

Cursor使用次数:10次左右

在这个项目中,我将记录如何利用Cursor作为AI编程助手,根据一份详细的git命令学习的需求文档,从零开始主导并生成一部完整、高质量、项目驱动的Git双语教程。

我的目标是检验并展示如何引导AI生成想要学习的编程相关知识的教程,通过模型来完成自学,改变原来需要自己搜索资料、整理资料、编写资料的繁琐过程。

你可以将这个方法扩展到任何编程知识的学习上,最小必要知识,项目驱动。

成果展示

  • 通过Cursor成功创建了一个结构完整、内容丰富的多章节Git教程,包含课程、练习和独立的实战项目,所有内容均遵循我预设的中英双语格式。

    结果动图
    • 遵循最小必要知识、通过项目驱动、双语格式、内容丰富、结构完整
    • 最终项目包含了超过40个Markdown文件,分布在清晰的目录结构中。
    • 内容从Git基础、版本管理、分支、远程协作一直到高级操作,形成了一个完整的学习路径。

前置准备

  • Cursor

  • 整体流程

      • 设置cursor规则->设置项目规则(10xUse)->和LLM沟通需求->cursor编码->调试输出

问题记录

  1. 问题1:教程编写过程中,cursor容易丢失上下文,编写不同章节时,内容不一致

    • 给定上下文,教程根目录有readme对整个教程进行说明、不同章节也有readme对章节进行说明
    • 提交给cursor时,让他读取这两个readme和项目文档,再进行编写
  2. 问题2:大文档编写时,超过2000行,cursor很容易中断,尤其教程中涉及到代码

    • 要求必须最小必要、示例代码分离、项目驱动
    • 对超长文档,需要分步进行

使用心得

  1. 活用10xUse,可以减少Cursor的使用次数
  2. 指令必须带着上下文,否则cursor容易丢失上下文,编写不同章节时,内容不一致。要求读取readme。
  3. 编程相关教程主要会涉及到代码,一定要分离将代码分离,独立练习

项目详细步骤

  1. 下达初始指令:我首先向Cursor提供了核心需求文件pj-requirement.md,并要求它总结需求,以此来检验它对任务的初步理解。

    step-1
  2. 生成项目文档和教程索引 :cursor生成项目文档和教程索引。开始生成章节1的内容

    step-2
  3. 不中断继续生成:在cursor想结束第一个次请求的时候,调用规则的命令,让他继续生成

    step-3
  4. 继续生成:最终一次请求生成了两个章节的内容和练习。

    step-4
  5. 继续完成其他章节:cursor继续完成其他章节

  6. 总结git常用命令和场景指引:cursor总结git常用命令速查表

    git常用命令速查表

  7. 生成项目文档和教程索引 :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]
(逐行显示文件的作者和最后修改的提交)