[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-how-to-audit-copilot-co-author-commit-metadata-zh":3,"tags-how-to-audit-copilot-co-author-commit-metadata-zh":34,"related-lang-how-to-audit-copilot-co-author-commit-metadata-zh":45,"related-posts-how-to-audit-copilot-co-author-commit-metadata-zh":49,"series-tools-6e4caf80-a817-4b98-be12-4bb24b51ef73":86},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":18,"translated_content":10,"views":19,"is_premium":20,"created_at":21,"updated_at":21,"cover_image":11,"published_at":22,"rewrite_status":23,"rewrite_error":10,"rewritten_from_id":24,"slug":25,"category":26,"related_article_id":27,"status":28,"google_indexed_at":29,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":30,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":20},"6e4caf80-a817-4b98-be12-4bb24b51ef73","如何稽核 Copilot 共作者提交中繼資料","\u003Cp data-speakable=\"summary\">這篇教你檢查 Git 提交是否寫入 \u003Ca href=\"\u002Fnews\u002Fcopilot-studio-dotnet-10-wasm-performance-zh\">Copi\u003C\u002Fa>lot 共作者行，並決定要保留還是移除它。\u003C\u002Fp>\u003Cp>這篇給使用 \u003Ca href=\"\u002Ftag\u002Fvs-code\">VS Code\u003C\u002Fa>、Git 與 \u003Ca href=\"\u002Ftag\u002Fgithub-copilot\">GitHub Copilot\u003C\u002Fa> 的開發者看，特別是你已經在提交訊息裡看到 \u003Ca href=\"\u002Fnews\u002Frtk-cuts-token-waste-ai-coding-tools-zh\">AI\u003C\u002Fa> 共作者行，卻不確定它從哪裡來、是否真的進到 Git 歷史。照著做完，你會拿到一份可重現的檢查流程、可驗證的提交記錄，以及一個能落地到團隊規範的處理方式。\u003C\u002Fp>\u003Cp>你也會知道怎麼對照 VS Code 1.118 的行為，確認提交中繼資料是否被改寫，並把結果整理成 repo 層級的政策。\u003C\u002Fp>\u003Ch2>開始之前\u003C\u002Fh2>\u003Cul>\u003Cli>VS Code 1.118 或更新版本\u003C\u002Fli>\u003Cli>Git 2.30 或更新版本\u003C\u002Fli>\u003Cli>有 GitHub 帳號，且已啟用 Copilot\u003C\u002Fli>\u003Cli>VS Code 已安裝 GitHub Copilot 擴充套件\u003C\u002Fli>\u003Cli>一個可提交的本機 Git repository\u003C\u002Fli>\u003Cli>可查閱官方文件：[VS Code release notes](https:\u002F\u002Fcode.visualstudio.com\u002Fupdates) 與 [GitHub Copilot documentation](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot)\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: 確認 VS Code 版本\u003C\u002Fh2>\u003Cp>目的：先鎖定你測試的編輯器版本，避免把舊版行為誤判成新功能。這一步會產出一份版本證據，方便你和團隊對齊測試環境。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778253050844-actz.png\" alt=\"如何稽核 Copilot 共作者提交中繼資料\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>code --version\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到以 1.118 開頭或更高的版本號。若版本較舊，先更新再往下做，否則後面的提交結果可能和你預期不同。\u003C\u002Fp>\u003Ch2>Step 2: 建立 Copilot 測試分支\u003C\u002Fh2>\u003Cp>目的：用一個可丟棄的分支重現提交流程，避免把測試結果混進正式歷史。這一步會產出一個名為 \u003Ccode>test\u002F\u003Ca href=\"\u002Ftag\u002Fcopilot\">copilot\u003C\u002Fa>-coauthor-line\u003C\u002Fcode> 的測試分支。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778253041931-z1yo.png\" alt=\"如何稽核 Copilot 共作者提交中繼資料\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>git checkout -b test\u002Fcopilot-coauthor-line\nprintf \"test\\n\" &gt;&gt; README.md\ngit add README.md\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>接著在 VS Code 打開提交介面，使用 Copilot 協助撰寫 commit me\u003Ca href=\"\u002Fnews\u002Fgcc-webassembly-back-end-proposal-zh\">ss\u003C\u002Fa>age，完成一次提交。你應該看到一筆新 commit 出現在這個測試分支上。\u003C\u002Fp>\u003Ch2>Step 3: 檢查 commit 中繼資料\u003C\u002Fh2>\u003Cp>目的：確認 Copilot 共作者行是否真的被寫進 Git 物件，而不是只出現在畫面上的草稿。這一步會產出一份完整的最後一筆提交內容。\u003C\u002Fp>\u003Cpre>\u003Ccode>git log -1 --pretty=full\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到類似 \u003Ccode>Co-authored-by: Copilot &lt;copilot@\u003Ca href=\"\u002Ftag\u002Fgithub\">github\u003C\u002Fa>.com&gt;\u003C\u002Fcode> 的行。如果有出現，就代表這個共作者標記已經進入 Git 歷史。\u003C\u002Fp>\u003Ch2>Step 4: 對照 repo 提交規範\u003C\u002Fh2>\u003Cp>目的：判斷這個共作者行是否符合你們的團隊規則。這一步會產出一份規範檢查結果，告訴你 repo 是否已有書面政策。\u003C\u002Fp>\u003Cpre>\u003Ccode>cat .gitmessage 2&gt;\u002Fdev\u002Fnull || true\ncat CONTRIBUTING.md 2&gt;\u002Fdev\u002Fnull || true\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到提交模板、貢獻指南，或是兩者都沒有輸出。如果沒有規則，現在就補一段簡短說明，寫清楚 AI 協助提交是否允許，以及要怎麼標示。\u003C\u002Fp>\u003Ch2>Step 5: 決定保留或移除共作者行\u003C\u002Fh2>\u003Cp>目的：把行為變成可控決策，而不是提交後才補救。這一步會產出一個符合政策的最終 commit。\u003C\u002Fp>\u003Cpre>\u003Ccode>git commit --amend\n# 編輯訊息，移除或保留 Co-authored-by 行\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該得到一筆和團隊政策一致的提交。再執行一次 \u003Ccode>git log -1 --pretty=full\u003C\u002Fcode>，確認最後的歷史記錄和你預期的歸屬完全一致。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>指標\u003C\u002Fth>\u003Cth>基準／優化前\u003C\u002Fth>\u003Cth>結果／優化後\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>提交檢查方式\u003C\u002Ftd>\u003Ctd>只看 VS Code 介面草稿\u003C\u002Ftd>\u003Ctd>用 \u003Ccode>git log -1 --pretty=full\u003C\u002Fcode> 驗證 Git 物件\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>規範狀態\u003C\u002Ftd>\u003Ctd>未文件化\u003C\u002Ftd>\u003Ctd>寫入 \u003Ccode>CONTRIBUTING.md\u003C\u002Fcode> 或 \u003Ccode>.gitmessage\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>共作者行處理\u003C\u002Ftd>\u003Ctd>提交後才臨時決定\u003C\u002Ftd>\u003Ctd>在 \u003Ccode>git commit --amend\u003C\u002Fcode> 時明確保留或移除\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>常見錯誤\u003C\u002Fh2>\u003Cul>\u003Cli>用舊版 VS Code 就直接判定是 bug。修法：先確認版本，再用 1.118 或更新版本重測。\u003C\u002Fli>\u003Cli>只看提交草稿，不看最終 Git 物件。修法：提交後一定要跑 \u003Ccode>git log -1 --pretty=full\u003C\u002Fcode>。\u003C\u002Fli>\u003Cli>沒有把 AI 協助規則寫進文件。修法：在 \u003Ccode>CONTRIBUTING.md\u003C\u002Fcode> 或團隊手冊補上提交政策。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>接下來可以看什麼\u003C\u002Fh2>\u003Cp>下一步可以整理團隊的 commit conventions，進一步決定 AI 協助作者資訊要不要允許、要不要保留在主分支歷史中，或要不要在送出前自動清理。\u003C\u002Fp>","這篇教你確認 Git 提交裡的 Copilot 共作者行是否真的被寫入，並建立可執行的團隊規則。","www.zhihu.com","https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F2034050613206589584\u002Fanswer\u002F2034245674636670121",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778253050844-actz.png",[13,14,15,16,17],"VS Code","GitHub Copilot","Git","commit metadata","CONTRIBUTING.md","zh",3,false,"2026-05-08T15:10:24.716085+00:00","2026-05-08T15:10:24.693+00:00","done","44b02eb9-d789-4952-89d5-f52cb817af8d","how-to-audit-copilot-co-author-commit-metadata-zh","tools","492c48e7-68a2-4493-9200-b7757c272ac6","published","2026-05-09T09:00:14.988+00:00",[31,32,33],"先用 VS Code 1.118+ 重現行為，再檢查 Git 最終物件。","用 git log -1 --pretty=full 驗證是否真的寫入 Co-authored-by 行。","把保留或移除共作者行的規則文件化，避免團隊認知不一致。",[35,37,39,41,43],{"name":14,"slug":36},"github-copilot",{"name":13,"slug":38},"vs-code",{"name":15,"slug":40},"git",{"name":17,"slug":42},"contributingmd",{"name":16,"slug":44},"commit-metadata",{"id":27,"slug":46,"title":47,"language":48},"how-to-audit-copilot-co-author-commit-metadata-en","How to audit Copilot co-author commit metadata","en",[50,56,62,68,74,80],{"id":51,"slug":52,"title":53,"cover_image":54,"image_url":54,"created_at":55,"category":26},"68e4be16-dc38-4524-a6ea-5ebe22a6c4fb","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-zh","為什麼 VidHub 會員互通不是「買一次全設備通用」","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789450987-advz.png","2026-05-14T20:10:24.048988+00:00",{"id":57,"slug":58,"title":59,"cover_image":60,"image_url":60,"created_at":61,"category":26},"7a1e174f-746b-4e82-a0e3-b2475ab39747","why-buns-zig-to-rust-experiment-is-right-zh","為什麼 Bun 的 Zig-to-Rust 實驗是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767879127-5dna.png","2026-05-14T14:10:26.886397+00:00",{"id":63,"slug":64,"title":65,"cover_image":66,"image_url":66,"created_at":67,"category":26},"e742fc73-5a65-4db3-ad17-88c99262ceb7","why-openai-api-pricing-is-product-strategy-zh","為什麼 OpenAI API 定價是產品策略，不是註腳","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749859485-chvz.png","2026-05-14T09:10:26.003818+00:00",{"id":69,"slug":70,"title":71,"cover_image":72,"image_url":72,"created_at":73,"category":26},"c757c5d8-eda9-45dc-9020-4b002f4d6237","why-claude-code-prompt-design-beats-ide-copilots-zh","為什麼 Claude Code 的提示設計贏過 IDE Copilot","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742645084-dao9.png","2026-05-14T07:10:29.371901+00:00",{"id":75,"slug":76,"title":77,"cover_image":78,"image_url":78,"created_at":79,"category":26},"4adef3ab-9f07-4970-91cf-77b8b581b348","why-databricks-model-serving-is-right-default-zh","為什麼 Databricks Model Serving 是生產推論的正確預設","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692245329-a2wt.png","2026-05-13T17:10:30.659153+00:00",{"id":81,"slug":82,"title":83,"cover_image":84,"image_url":84,"created_at":85,"category":26},"b3305057-451d-48e4-9fb9-69215f7effad","why-ibm-bob-right-kind-ai-coding-assistant-zh","為什麼 IBM 的 Bob 才是對的 AI 寫碼助手","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778664653510-64hc.png","2026-05-13T09:30:21.881547+00:00",[87,92,97,102,107,112,117,122,127,132],{"id":88,"slug":89,"title":90,"created_at":91},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":103,"slug":104,"title":105,"created_at":106},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":108,"slug":109,"title":110,"created_at":111},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":123,"slug":124,"title":125,"created_at":126},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":128,"slug":129,"title":130,"created_at":131},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":133,"slug":134,"title":135,"created_at":136},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]