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