Claude Code 寫 Git 提交、開 PR、解決合併衝突:gh 命令、attribution 設定和回退辦法

按官方文檔講 Claude Code 怎麼幫你提交代碼、用 gh 開 pull request、用 --from-pr 找回會話,再給合併衝突的提示詞和回退辦法。還寫明提交裏的 Co-Authored-By 署名由 attribution 設定控制,以及哪些 Git 操作要自己把關。

NNathaniel bigo··原創首發·AI 輔助撰寫
10 分鐘讀完
資料核對於 2026-11-05 · 依據官方文檔與公開資料整理 Pro 帳號
本文根據 Claude Code 官方文檔《Common workflows》《Settings reference》《Best practices for Claude Code》《Checkpointing》《Commands》整理,資料核對於 2026-11-05。配圖為本站整理的示意圖,不是介面截圖。本站(bigolab.com)不是 Anthropic 官方網站。

適用於誰

  • 想讓 Claude Code 代寫提交資訊、開 PR 的人;
  • 不想讓提交裏出現 Claude 署名,或想自定義署名的人;
  • 遇到合併衝突,想讓 Claude Code 幫忙看,但又擔心它把代碼改亂的人。

結論先說

  1. 直接說就行:官方寫的開 PR 方式是直接對 Claude 說 create a pr for my changes,或者分步讓它先總結改動、再創建、再潤色描述。
  2. gh 裝好登入好,Claude 就會用:官方最佳實踐提到,裝了 gh 並登入後,Claude 會自己開 PR、讀評審意見,不用你解釋。
  3. 提交裏的署名可以改:Claude Code 預設在提交裏加 Co-Authored-By 之類的尾註,用 settings.json 裏的 attribution 控制;你在 CLAUDE.md 裏寫的署名規則,官方說優先於這些預設文字(除非在託管設定裏強制)。
  4. Git 操作靠 Bash 執行,/rewind 管不到:合併衝突這類操作前,先建分支或確認工作區乾淨。
  5. 推送這類動作建議設為每次詢問:官方示例就把 Bash(git push *) 放在 ask 規則裏。

Claude Code 的 Git 工作流

圖:本站根據 Claude Code 官方文檔:Common workflows 整理的示意圖

一、寫提交資訊

Claude Code 內置了寫提交和 PR 的指令,並且會在會話開始時讀一份 git 狀態快照:當前分支、主分支、git status 輸出和最近的提交。官方說明可以用 includeGitInstructions: false 把這兩樣都關掉,適合你自己有一套 Git 工作流技能的人。大多數人保持預設就行。

提示詞 1:按改動寫提交

text
請先運行 git status 和 git diff,告訴我這次改動包含哪些文件、各改了什麼。
然後按下面的規則提交:
1)如果改動混了多個目的,先建議怎麼拆成幾次提交,等我確認;
2)提交資訊第一行不超過 50 個字,說明做了什麼,正文說明為什麼這麼改;
3)不要提交 .env、日誌和構建產物;如果看到它們在改動裏,先停下來告訴我。
提交之前把準備使用的提交資訊給我看。

關於署名:官方說明 attribution 設定裏的 commit 控制提交尾註,pr 控制 PR 描述裏的文字,sessionUrl 控制雲端會話連結,三者分開設定;整體設為 false 表示隱藏全部署名,這個取值需要 Claude Code v2.1.281 或更高版本。如果你的團隊有規定,把規則寫進 .claude/settings.json 或 CLAUDE.md 都行,設定文件的位置和優先級見 /guides/claude-code-settings-json。是否在提交裏標註 AI 參與,請以你所在團隊或開源項目的規定為準。

二、開 PR、找回會話

官方的分步寫法是三句話:summarize the changes I've made to the authentication module,然後 create a pr,最後 enhance the PR description with more context about the security improvements。官方還提醒:提交 PR 之前自己讀一遍 Claude 生成的內容,並讓它標出潛在風險。

另外一個實用功能:Claude Code 在用 gh pr create(或 glab mr create)創建 PR 時,會把會話和 PR 關聯起來。之後運行 claude --from-pr 1234(換成你的 PR 號),會打開按該 PR 過濾的會話選擇器;也可以把 PR 地址粘進 /resume 選擇器的搜尋框。

提示詞 2:開 PR

text
請基於當前分支相對 main 的全部提交,創建一個 pull request:
標題一句話說清楚目的;描述裏依次寫:背景、主要改動、測試方式、已知風險或需要評審者重點看的地方。
創建前先把標題和描述給我看,我確認後再用 gh 創建。

PR 的評審意見怎麼處理?官方說 /pr-comments 命令已在 v2.1.91 移除,現在直接讓 Claude 去看 PR 評論即可。讓 Claude 讀完評論再逐條修改的做法,可以參考 /guides/claude-code-github-actions,裏面講了在 PR 裏用 @claude 觸發。

三、合併衝突

官方文檔裏沒有「解決合併衝突」的專頁,所以這一節是通用 Git 知識加上 Claude Code 的特性,請當作建議而不是官方規定。

動手之前先做兩件事:確認當前分支沒有未提交的改動(git status 乾淨),或者先在新分支上操作。原因在官方 Checkpointing 文檔裏寫得很清楚:/rewind 只追蹤 Claude 用文件編輯工具改過的文件,Bash 命令改動、且 Claude 沒編輯過的文件不會被追蹤,要用 Git 自己撤銷。合併、變基這類操作都是 Git 命令,出了問題要靠 Git 回退,比如合併還沒提交時用 git merge --abort。

提示詞 3:只看不改,先把衝突講清楚

text
我在執行 git merge【分支名】時出現了衝突。請先不要修改任何文件。
運行 git status 找出所有衝突文件,對每個文件說明:
1)我這邊(當前分支)做了什麼改動、目的是什麼;
2)對方分支做了什麼改動、目的是什麼;
3)兩邊是否真的矛盾,還是可以同時保留;
4)你建議怎麼合併,以及依據。
最後列出你不確定、需要我來決定的地方。

等你看完分析,再讓它動手,並且限制範圍、要求驗證:

提示詞 4:逐個文件解決並驗證

text
按我們剛才確認的方案,一次只處理一個衝突文件。每處理完一個,告訴我最終保留了哪些內容。
全部處理完後:1)確認文件裏不再有 <<<<<<< ======= >>>>>>> 標記;2)運行【測試命令】;3)運行 git diff 給我看最終改動。
不要執行 git commit 或 git push,我檢查之後自己提交。

最後一句是故意的:合併提交由你來按,比讓它連提交帶推送更穩妥。

四、讓推送必須經過你

官方在最佳實踐裏給了權限規則的寫法,示例裏把 git push 放進 ask,把讀取 .env 放進 deny:

json
{
  "permissions": {
    "ask": ["Bash(git push *)"],
    "deny": ["Read(./.env)", "Read(./.env.local)"]
  }
}

放進 .claude/settings.json 後,每次要推送都會先問你。官方還說明,權限規則匹配的是工具調用而不是意圖,像「絕不能讀 .env」這樣不允許例外的規則,應該用拒絕規則或鉤子,而不是隻寫在 CLAUDE.md 裏。權限模式的區別見 /guides/claude-code-permission-modes。

Git 操作前後的檢查清單

圖:本站根據官方 Common workflows 與 Checkpointing 文檔整理的示意圖

常見問題

Q:一次只改一個功能,想並行做另一個,會衝突嗎?

官方的做法是 claude --worktree feature-auth,每個工作樹是獨立的檢出和分支,互不干擾,詳見 /guides/claude-code-worktree。注意倉庫至少要有一次提交。

Q:改動想先自己看一遍?

官方有 /diff 命令,用來審查工作區的改動,包括 Claude 到目前為止做的編輯。想讓 Claude 再審一遍,用 /code-review,見 /guides/claude-code-code-review-security-review-commands。

Q:每次提交都要詢問,太煩了?

可以只對 git push 保持詢問,提交本身放行。也可以用計劃模式或 acceptEdits 減少編輯類提示,但別把推送放開。

訂閱和額度

多文件的衝突分析會讀很多代碼,消耗額度較多。需要長期使用 Claude Code 可以了解 /chongzhi/claude-code,價格和額度以官方頁面當前顯示為準。

相關教學

參考資料

  • Claude Code 文檔:Common workflows — https://code.claude.com/docs/en/common-workflows
  • Claude Code 文檔:Settings reference — https://code.claude.com/docs/en/settings-reference
  • Claude Code 文檔:Best practices for Claude Code — https://code.claude.com/docs/en/best-practices
  • Claude Code 文檔:Checkpointing — https://code.claude.com/docs/en/checkpointing
  • Claude Code 文檔:Commands — https://code.claude.com/docs/en/commands

Nathaniel 的更多內容

  1. 01

    Claude Code 在 Windows 上的常見坑:Git Bash 還是 PowerShell、路徑反斜槓、假報錯、WSL 怎麼選

    Windows 上用 Claude Code,裝好之後最容易踩的是:用哪個 shell、路徑寫法不一致、grep 沒匹配就報錯、鉤子沒生效、WSL 和原生怎麼選。本文逐條按官方文檔整理原因和處理辦法,附三段提示詞和一張對照表。

    Claude0
  2. 02

    Claude Code Hooks 實戰「提交前自動跑測試」:PreToolUse 攔住 git commit,測試不過就退出碼 2,附 Windows 注意點

    只寫一個完整例子:讓 Claude Code 每次要執行 git commit 之前,先自動跑項目測試,沒通過就攔下並把輸出交給它修。本文按官方 Hooks 文檔給出腳本、settings.json 配置、測試方法、排錯和 Windows 的兩處坑。

    Claude0
  3. 03

    Claude Code 自定義斜槓命令與 Skill 實戰:從零寫一個「生成更新日誌」的 /release-notes,含傳參、預執行命令和調試

    概念看過了,還是不知道從哪下手?本文按 Claude Code 官方「Extend Claude with skills」寫一個完整可用的例子:用 /release-notes 根據 git 記錄生成更新日誌,覆蓋目錄、frontmatter、傳參、預執行命令、預授權和調試。

    Claude0
  4. 04

    Claude Code 部署網站:先寫 Dockerfile 和 compose 在本機跑通,再按清單上雲伺服器,別讓它直接改線上

    想讓 Claude Code 幫你把網站部署到雲伺服器。本文只寫通用做法,按 Docker 官方文檔講:讓它寫 Dockerfile、.dockerignore 和 compose,在本機跑通,端口和數據卷怎麼設,再給出上線清單,並說明為什麼不要讓它直接動線上機器。

    Claude0
  5. 05

    Claude Code 寫爬蟲與數據清洗:先查 robots.txt 和網站條款,控制頻率,原始數據留一份再清洗

    想讓 Claude Code 寫爬蟲抓數據再清洗。本文先講合規:robots.txt 不是授權也不是安全措施、網站條款要自己讀;再講怎麼用 Python 標準庫檢查規則、小樣本先試、儲存原始數據,以及用 pandas 清洗,附四段提示詞。

    Claude0
  6. 06

    Claude Code 寫 Chrome 擴展:按 Manifest V3 起步,加載未打包的擴展,改了哪些文件要重新加載

    想讓 Claude Code 幫你寫一個 Chrome 擴展。本文按 Chrome 官方擴展文檔講:manifest.json 的最小寫法、在 chrome://extensions 加載未打包的擴展、哪些改動要刷新、怎麼看控制檯和報錯,再給四段提示詞,以及權限要盡量少。

    Claude0

同產品的其他教學

  1. 01

    Claude Code 寫安卓 App:Android Studio 建項目、讓它用 gradlew 編譯安裝,報錯和日誌怎麼餵給它

    想讓 Claude Code 幫你寫安卓 App。官方文檔沒有專門的安卓教學,本文把 Claude Code 官方工作流和安卓官方命令行文檔拼在一起:Android Studio 建項目、gradlew 編譯安裝、模擬器和真機、測試與日誌,附四段提示詞。

    Claude0
  2. 02

    Claude Code 用數據庫 MCP 查數據、出報表:只讀帳號、先看口徑再看數字,結果別一次拉太多行

    想用自然語言讓 Claude Code 查數據庫、出統計報表,而不是寫後端接口。本文按官方 MCP 頁面和 DBHub 說明講:怎麼連 PostgreSQL、MySQL、SQLite、輸出太大怎麼辦、怎麼讓它先說明口徑、怎麼核對數字,附三段提示詞。

    Claude0
  3. 03

    Claude Code 配 Figma MCP 還原設計稿:插件或一條命令安裝,複製圖層連結,小塊小塊地讓它出代碼

    想讓 Claude Code 照 Figma 設計稿寫前端代碼。本文按 Figma 官方開發者文檔講:遠程伺服器地址、插件和手動兩種安裝、怎麼複製圖層連結、為什麼要選小塊、座位類型與調用次數限制,並給三段還原設計稿的提示詞。

    Claude0
  4. 04

    Claude Code 管理 GitHub issue:用 gh 命令還是 GitHub MCP,怎麼裝、怎麼限權、怎麼讓它分揀和回覆 issue

    讓 Claude Code 讀 issue、分揀標籤、起草回覆、關聯 PR,有兩條路:裝好 gh 命令行直接用,或連 GitHub 官方 MCP 伺服器。本文按兩邊官方文檔講安裝命令、令牌權限、只讀模式,並給出三段分揀提示詞和限權設定。

    Claude0
  5. 05

    Claude Code 配 Playwright MCP 做瀏覽器測試:一條命令安裝,讓它打開頁面、點按鈕、讀控制檯,再把流程寫成測試

    想讓 Claude Code 自己打開瀏覽器測試你的網頁。本文按微軟 Playwright MCP 官方倉庫和 Claude Code 官方 MCP 文檔講:安裝命令、怎麼確認連上、有頭無頭與隔離參數、一次測試的提示詞,以及它不是安全邊界這件事。

    Claude0
  6. 06

    Claude Code 寫文檔、README 和代碼註釋:先讓它讀代碼再動筆,指定風格,寫完逐條核對命令能不能跑

    想讓 Claude Code 給項目補 README、接口文檔和註釋,又怕它編造不存在的命令和參數。本文按官方「Handle documentation」工作流講:先找沒有文檔的代碼、指定風格、寫完核對,附四段可複製提示詞和驗證辦法。

    Claude0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~