跳到主要內容

給新手的Claude Code+Git教學




當你想要開始用Claude Code玩一些新專案的時候,會不會很擔心一不小心就弄壞已經完成的作品。

你可能聽過Git,但看到一堆英文指令可能又覺得很難上手。但透過Cladue Code或類似的工具就可以讓你記錄專案的所有變化並復原任何錯誤。
但重要的是你要瞭解git的基本概念瞭解大概可以做到什麼,讓你可以透過Claude Code發揮Git的全部功能。
#什麼是Git
Git是一個版本控制系統,追蹤你某個檔案的時間變更。
在還沒有Google Doc的時候,我們是用這樣記錄檔案的變更
報告(第一版) . doc
報告(第二版完成版) . doc
最終報告(完成版) . doc
最終報告(最後調整完成版).doc
對了,我們那時候還只有doc沒有docx
如果沒有問題就都OK,但一旦有問題,往往找不出哪個版本才是對的
但Git 解決了這個問題,Git會把每次變更的完整歷史存在同一個資料夾內,我們只要像平常一樣編輯檔案,定期讓Git記住現在的樣子,Git就會讓我們隨時可以回到這一刻。
> 幫我把這個資料夾設為Git repo
讓Claude Code 將這個資料夾轉為Git Repository。應該會讓Claude Code執行git init,告訴git開始記錄這個資料夾的變更
> 幫我看看今天(最近或上次儲存之後)做了哪些改變
Claude Code 會顯示簡單的摘要,哪些檔案新增、修改跟刪除。
> 幫我儲存目前的紀錄
Claude 會暫存你的進度,並建立一個 commit,並分析變動後給出一個方便記憶的資訊。像是"新增OO功能並刪除XX"之類的
> 幫我推送到github上
Claude會分析目前的進度,問你要推送哪些commit
#建立不同分支
建立分支就像建立不同的時間軸。分支會在某個特定點分出去,讓你嘗試在不影響其他地方的前提下,進行修改。如果成功就合併回來,如果不成功,就刪除該分支 main保持不變。
> 請幫我建立一個新的分支叫OOXX
Claude Code就會幫你建立分支,並切換到那個分支,但檔案看起來沒有任何改變。但從此開始你做的所有改變都只會在新的分支,不會動到原本的main
> 我喜歡目前的結果,請幫我合併回main
Claude 就會幫你把目前的進度合併回main
>請跟我討論整合回main的選項有哪些,請你幫我分析
合併分支的方式有很多,但我只懂merge。沒關係,我們可以跟Claude Code討論
>如果我想回到今年2月的commit的話,我該怎麼做
Claude Code會像個貼心的好友給你幾個選項:查看舊的版本、還原到那個時間點、或是某個特定檔案。但你不用記住所有的指令
#放輕鬆
不用擔心誤刪某些資料,或是在不同設備無法同步。只要有了Git,可以大幅降低你的焦慮。
不用擔心你搞不懂這些指令,有了Claude Code,你只要簡單說明你的意圖,Claude Code就會像個擅長Git的工程師跟你討論具體的辦法幫你完成。
如果你對Git有興趣的話,可以參考高見龍的《為你自己學Git》跟《版本控制使用 Git》都可以幫助更進階。
我一定還有一些引喻失義或描述不當的地方,在請大家批評指教

留言

這個網誌中的熱門文章

Anthropic 團隊如何使用 Claude Code

Anthropic團隊透過Claude Code 改造他們的工作流,讓開發人員跟非技術人員可以處理複雜專案、自動化流程,並跨越過去限制其生產力的技能鴻溝。 他們深入採訪了以下團隊 資料基礎設施 產品開發 安全工程 推論 資料科學與視覺化 產品工程 成長行銷(Growth Marketing) 產品設計 強化學習工程 法律 Claude Code 用於資料基礎設施 資料基礎設施團隊為公司內所有團隊組織業務資料。他們使用 Claude Code 自動化例行資料工程任務、排除複雜基礎設施問題,並為技術和非技術團隊成員創建文件化工作流程,讓他們能夠獨立存取和操作資料。 主要 Claude Code 使用案例 使用截圖進行 Kubernetes 除錯 當 Kubernetes 叢集當機且不再排程新的 pod 時,團隊使用 Claude Code 診斷問題。他們將儀表板的螢幕截圖輸入 Claude Code,它逐一引導他們瀏覽 Google Cloud 的 UI 選單,直到找到顯示 pod IP 位址耗盡的警告。Claude Code 接著提供確切的指令來建立新的 IP 池並將其新增到叢集,無需涉及網路專家。 為財務團隊提供純文字工作流程 工程師向財務團隊成員展示如何撰寫描述其資料工作流程的純文字檔案,然後將其載入 Claude Code 以獲得完全自動化的執行。沒有編碼經驗的員工可以描述步驟,如「查詢此儀表板、獲取資訊、執行這些查詢、產生 Excel 輸出」,Claude Code 會執行整個工作流程,包括詢問所需的輸入,如日期。 協助新進人員熟悉程式庫 當新的資料科學家加入團隊時,他們被引導使用 Claude Code 來導覽龐大的程式庫。Claude Code 讀取他們的 Claude.md 檔案文件,識別特定任務的相關檔案,解釋資料管線間依賴關係,並幫助新人了解哪些上游來源輸入到儀表板。這取代了傳統的資料目錄和可發現性工具。 工作階段結束後更新claude.md 團隊要求 Claude Code 總結已完成的工作階段,並在每個任務結束時建議改進。這創建了一個持續改進循環,Claude Code 根據實際使用情況幫助改進 Claude.md 文件和工作流程指示,使後續迭代更有效。 跨多個實例的平行任務管理 在處理長時間執行的資料任務時...

親師溝通一定要用LINE嗎? 用LINE@會更安全更省時間

作者: 林穎俊 常聽到很多老師不想用LINE,因為LINE的方便性使得老師上班時間延伸到5點下班之後,舉凡孩子的大小事,甚至婆媳之間的事情,家長也想好好跟老師聊一聊。常讓老師覺得為什麼我下班了還要當家長的垃圾桶? 而且相信大家也有聽過同事說過。家長覺得孩子在學校受到委屈,自己覺得老師沒有公正的處理,就放話說要來學校找對方孩子的,在LINE群中這些層出不窮的事,相信都不是老師想要跟家長溝通的本意。 ㄧ、LINE@的特色: LINE@最大的特點是 群組成員無法對話跟互相加好友,只能跟老師對話。還可以設定關鍵字回復,不用立即回訊。在1對1 對話中還可以設定對話時間,不用半夜還在回line LINE@的功能:群發、1對1對話、動態消息等可以方便做好親師溝通。而且群發訊息(像是提醒 全班注意事項、班級宣導等)只要在1000則內都是不收費的。 二、如何使用LINE@ 1.安裝並登入Line@ 1-1在AppStore 中搜尋LINE@。  1-2 下載完成後,以原來LINE的帳號登入,設定好照片、名稱(例如五年孝班的小天地等),就可以開始使用了。 2.回應模式: 2-1簡介回應模式:登入後,先點進「回應模式」,內有「1對1聊天模式」、「於自動回應模式接收訊息」、「1對1聊天可對應時間」、「自動回應訊息」、「關鍵字自動回應訊息」、以及「設為好友時的歡迎訊息」。老師們可以視需要開啟前面兩項1對1聊天模式」跟「於自動回應模式接收訊息」。 2-2「1對1聊天可對應時間」是設定家長可以傳訊給您的時間,我們先點入週日,再點右上角的「編輯」再把左邊那個綠溝溝點起來,按下刪除後儲存,回到「回應模式」的畫面你就發現,週日你就收不到訊息囉~~科科 接下老師也可以設定平常上班日可以跟家長對話的時間 2-3 自動回應:先點入「撰寫新訊息」,「編輯訊息」可以設定當家長傳訊給你時,系統會自動回覆的訊息。管理用標題是你可以設定訊息的標題。指定期間或時刻,你可以區分上下課不同時間來回應家長不同的訊息。例如在上課時間,我會打「親愛的家長您好,謝謝您傳訊給我,我知道您一定有重要的事情跟我聯絡,...

【Vibe Coding 或是Vibe Prompting?】

自去年開始,我開始嘗試教孩子一門結合 Python 與 AI 的課程。一開始叫做「AI Assisted Python Programming」,但現在或許叫做「Vibe Coding」會是更貼切的名稱。這門課的想法是運用 Python 作為基礎程並結合 AI 作為教學助力,幫助小學生學習基礎的程式學習。 在最初的設計中,我採取的是「由下而上」的教學設計。透過一個實作專案,我一步步引導學生認識變數、資料型別、if-else跟函式等基本概念。當時我們設定的目標是建構一個簡易的線上訂購網站。雖然最終並未完整實作出來,但這個過程讓學生有機會從目標出發,理解每一項功能背後所需的知識與技能,並逐步補足所需的知識。 當學生遇到困難時,我會先請他們透過 AI 尋求協助。他們可以請 AI 解釋概念,甚至產出程式碼。但我給了他們一個額外的挑戰:他們必須能向我清楚說明這段程式碼的意義與邏輯。為了完成這個挑戰,他們必須學會如何有效地與 AI 對話,從而深化對程式內容的理解。這樣的好處是學生不用花費很多時間查資料獲等待老師解決問題,只要有問題AI都可以回答。然而在實際執行的過程中,我發現即使這樣循序漸進地引導,還是有部分學生容易卡關。 因此今年我嘗試轉向「由上而下」的教學方式,靈感來自 Vercel CEO Guillermo Rauch 的訪談。我從中學到人類的價值在於抽象與高階的思考,我們應該訓練孩子更清楚地表達需求,善用 AI 將想法實現,而不是拘泥於每一行程式碼的細節。 因此這學期我決定從「品味」開始,帶領學生探索「什麼是好的作品」。我們從一塊巧克力開始討論,學習如何描述一個「好吃」的巧克力,進而將這樣的能力轉移到數位創作上。我們的主題是「貪食蛇」遊戲設計。我會讓學生先用 AI 生成一個基礎版本,再引導他們去玩網路上的不同版本,學習觀察與評比:什麼樣的遊戲更美觀?速度更流暢?玩法更有趣或更具挑戰性? 接下來,學生需要根據自己的體驗,提出對「好遊戲」的定義與規格,並運用 AI 進行修正與調整,完成屬於他們自己的版本。對我來說這樣的過程可稱為「Vibe Coding」:從描述目標開始->進行生成->再進入反覆的修改與調整。但因為課程還沒告一段落,還無法做出很精確的結論。 這樣的過程也讓我思考孩子們在這當中究竟學到的是什麼?他們學到的是「Coding」本身,還是「Prompt...