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]
(逐行顯示文件的作者和最後修改的提交)