[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-how-to-audit-copilot-co-author-commit-metadata-zh":3,"article-related-how-to-audit-copilot-co-author-commit-metadata-zh":29,"series-tools-6e4caf80-a817-4b98-be12-4bb24b51ef73":82},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":22,"views":26,"created_at":27,"published_at":28,"topic_cluster_id":11},"6e4caf80-a817-4b98-be12-4bb24b51ef73","how-to-audit-copilot-co-author-commit-metadata-zh","如何稽核 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","tools","zh","492c48e7-68a2-4493-9200-b7757c272ac6",[17,18,19,20,21],"VS Code","GitHub Copilot","Git","commit metadata","CONTRIBUTING.md",[23,24,25],"先用 VS Code 1.118+ 重現行為，再檢查 Git 最終物件。","用 git log -1 --pretty=full 驗證是否真的寫入 Co-authored-by 行。","把保留或移除共作者行的規則文件化，避免團隊認知不一致。",3,"2026-05-08T15:10:24.716085+00:00","2026-05-08T15:10:24.693+00:00",{"tags":30,"relatedLang":41,"relatedPosts":45},[31,33,35,37,39],{"name":18,"slug":32},"github-copilot",{"name":17,"slug":34},"vs-code",{"name":19,"slug":36},"git",{"name":21,"slug":38},"contributingmd",{"name":20,"slug":40},"commit-metadata",{"id":15,"slug":42,"title":43,"language":44},"how-to-audit-copilot-co-author-commit-metadata-en","How to audit Copilot co-author commit metadata","en",[46,52,58,64,70,76],{"id":47,"slug":48,"title":49,"cover_image":50,"image_url":50,"created_at":51,"category":13},"bef47dbc-b0b4-439e-bae9-abe9473a321c","wei-shen-me-tether-ba-ben-di-ai-ji-yi-tui-jin-ri-chang-zhuan-zh","為什麼 Tether 把本地 AI 記憶推進日常裝置是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780542170805-opi6.png","2026-06-04T03:02:19.599329+00:00",{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":13},"d3ec03a8-a805-4a21-9826-72a74a72b625","databricks-model-serving-llm-deploy-guide-zh","Databricks Model Serving 讓 LLM 部署變簡單","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525998117-7ur8.png","2026-06-03T22:32:51.005996+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":13},"4dd225a8-bf6c-4768-a486-a27956c7033d","opencode-digitalocean-model-freedom-zh","OpenCode+DigitalOcean 讓你切換模型","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525116428-1q7g.png","2026-06-03T22:18:06.969758+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":13},"4bdcf208-fb80-484e-b4b6-06af035a6df1","modulate-aws-voice-chats-into-signals-zh","Modulate 用 AWS 把語音聊天做成訊號","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780519733892-rxue.png","2026-06-03T20:48:22.697917+00:00",{"id":71,"slug":72,"title":73,"cover_image":74,"image_url":74,"created_at":75,"category":13},"f44a28d3-2305-43de-b5fa-21217d561054","amazon-rekognition-content-moderation-filter-zh","Amazon Rekognition把審核變成過濾器","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780517005409-bxfc.png","2026-06-03T20:02:57.634353+00:00",{"id":77,"slug":78,"title":79,"cover_image":80,"image_url":80,"created_at":81,"category":13},"80f6f40b-3217-45e4-acff-7b2f6d261779","codex-workspace-limits-tell-you-why-zh","Codex 讓工作區限額錯誤說人話","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780514293711-ltqa.png","2026-06-03T19:17:41.340056+00:00",[83,88,93,98,103,108,113,118,123,128],{"id":84,"slug":85,"title":86,"created_at":87},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":89,"slug":90,"title":91,"created_at":92},"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":94,"slug":95,"title":96,"created_at":97},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":99,"slug":100,"title":101,"created_at":102},"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":104,"slug":105,"title":106,"created_at":107},"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":109,"slug":110,"title":111,"created_at":112},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":114,"slug":115,"title":116,"created_at":117},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":119,"slug":120,"title":121,"created_at":122},"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":124,"slug":125,"title":126,"created_at":127},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00",{"id":129,"slug":130,"title":131,"created_at":132},"3ce6e6e2-bac5-463e-9f8d-45caabcc61f7","awesome-ai-for-science-research-tools-map-zh","AI 科研工具清單，開始像地圖了","2026-03-27T01:46:50.521945+00:00"]