[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-how-to-audit-copilot-co-author-commit-metadata-en":3,"tags-how-to-audit-copilot-co-author-commit-metadata-en":35,"related-lang-how-to-audit-copilot-co-author-commit-metadata-en":45,"related-posts-how-to-audit-copilot-co-author-commit-metadata-en":49,"series-tools-492c48e7-68a2-4493-9200-b7757c272ac6":86},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":19,"translated_content":10,"views":20,"is_premium":21,"created_at":22,"updated_at":22,"cover_image":11,"published_at":23,"rewrite_status":24,"rewrite_error":10,"rewritten_from_id":25,"slug":26,"category":27,"related_article_id":28,"status":29,"google_indexed_at":30,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":31,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":21},"492c48e7-68a2-4493-9200-b7757c272ac6","How to audit Copilot co-author commit metadata","\u003Cp data-speakable=\"summary\">Learn how to verify and control \u003Ca href=\"\u002Ftag\u002Fcopilot\">Copilot\u003C\u002Fa>’s co-author line in Git commit messages.\u003C\u002Fp>\u003Cp>This guide is for developers who use \u003Ca href=\"\u002Ftag\u002Fvs-code\">VS Code\u003C\u002Fa> and \u003Ca href=\"\u002Ftag\u002Fgithub-copilot\">GitHub Copilot\u003C\u002Fa> and want to understand why a commit may now include an AI co-author line. After following the steps, you will know how to reproduce the behavior, inspect the resulting Git metadata, and decide whether to keep or remove the line in your team workflow.\u003C\u002Fp>\u003Cp>You will also have a simple checklist for confirming what changed in VS Code 1.118, where the co-author line comes from, and how to document a policy that matches your repo rules.\u003C\u002Fp>\u003Ch2>Before you start\u003C\u002Fh2>\u003Cul>\u003Cli>VS Code 1.118 or later\u003C\u002Fli>\u003Cli>Git 2.30 or later\u003C\u002Fli>\u003Cli>GitHub account with Copilot access\u003C\u002Fli>\u003Cli>Copilot extension installed in VS Code\u003C\u002Fli>\u003Cli>A local Git repository with commit access\u003C\u002Fli>\u003Cli>Access to the VS Code release notes and the Copilot docs: [VS Code release notes](https:\u002F\u002Fcode.visualstudio.com\u002Fupdates) and [GitHub Copilot documentation](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot)\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: Confirm the VS Code version\u003C\u002Fh2>\u003Cp>Your first goal is to verify that you are testing the same editor build that introduced the behavior. The reported change appeared in VS Code 1.118, so checking the version removes guesswork before you inspect commit output.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778253044679-3184.png\" alt=\"How to audit Copilot co-author commit metadata\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>code --version\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You should see a version string that starts with 1.118 or later. If you are on an older build, update first so your results match the behavior described here.\u003C\u002Fp>\u003Ch2>Step 2: Reproduce the Copilot commit flow\u003C\u002Fh2>\u003Cp>Your next goal is to trigger the exact workflow where Copilot helps generate a commit message or participates in a code edit. Do this in a small throwaway change so you can inspect the resulting Git record without risking a real release commit.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778253054282-ci5a.png\" alt=\"How to audit Copilot co-author commit metadata\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>git checkout -b test\u002Fcopilot-coauthor-line\nprintf \"test\\n\" >> README.md\ngit add README.md\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Open the commit UI in VS Code, use Copilot to help draft the message, and complete the commit. You should see a new commit created from the test branch, and the commit message should reflect the Copilot-assisted flow you just used.\u003C\u002Fp>\u003Ch2>Step 3: Inspect the commit metadata\u003C\u002Fh2>\u003Cp>Your goal now is to verify whether Git recorded the AI co-author line. This is the key outcome, because it tells you whether the editor behavior changed the final commit payload, not just the draft message shown in the UI.\u003C\u002Fp>\u003Cpre>\u003Ccode>git log -1 --pretty=full\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You should see a line similar to \u003Ccode>Co-authored-by: Copilot &lt;copilot@\u003Ca href=\"\u002Ftag\u002Fgithub\">github\u003C\u002Fa>.com&gt;\u003C\u002Fcode> if Copilot was involved in the commit flow. If the line is present, you have confirmed that the metadata was written into Git history.\u003C\u002Fp>\u003Ch2>Step 4: Check your repo policy\u003C\u002Fh2>\u003Cp>Your goal here is to decide whether the co-author line is acceptable in this repository. Some teams want every meaningful contributor listed in the commit body, while others prefer human-only attribution or a stricter commit template.\u003C\u002Fp>\u003Cpre>\u003Ccode>cat .gitmessage 2&gt;\u002Fdev\u002Fnull || true\ncat CONTRIBUTING.md 2&gt;\u002Fdev\u002Fnull || true\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You should see either a documented commit policy or an empty result that tells you the repo has no written rule yet. If there is no policy, add one so contributors know whether AI-assisted commits are allowed and how they should be labeled.\u003C\u002Fp>\u003Ch2>Step 5: Remove or keep the line intentionally\u003C\u002Fh2>\u003Cp>Your final goal is to make the behavior deliberate instead of accidental. If your team accepts AI co-authorship, keep the line and document the rule. If your team does not want it, rewrite the commit before pushing or adjust your workflow so the generated line is not used.\u003C\u002Fp>\u003Cpre>\u003Ccode>git commit --amend\n# edit the message and remove or keep the Co-authored-by line as needed\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>You should end with a commit that matches your policy exactly. Verify again with \u003Ccode>git log -1 --pretty=full\u003C\u002Fcode> and confirm that the final history shows the attribution you intended.\u003C\u002Fp>\u003Ch2>Common mistakes\u003C\u002Fh2>\u003Cul>\u003Cli>Using an older VS Code build and assuming the behavior is a bug. Fix: confirm the editor version first, then retest on 1.118 or later.\u003C\u002Fli>\u003Cli>Checking only the visible commit draft and not the final Git object. Fix: inspect the commit with \u003Ccode>git log -1 --pretty=full\u003C\u002Fcode> after the commit is created.\u003C\u002Fli>\u003Cli>Leaving attribution rules undocumented. Fix: add a short note in \u003Ccode>CONTRIBUTING.md\u003C\u002Fcode> or your team handbook so everyone uses the same commit policy.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>What's next\u003C\u002Fh2>\u003Cp>Next, review your team’s commit conventions and decide whether AI-assisted authorship should be allowed, logged, or removed in your main branch workflow.\u003C\u002Fp>","Learn how to verify and control Copilot’s co-author line in Git commit messages.","www.zhihu.com","https:\u002F\u002Fwww.zhihu.com\u002Fquestion\u002F2034050613206589584\u002Fanswer\u002F2034245674636670121",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778253044679-3184.png",[13,14,15,16,17,18],"VS Code","GitHub Copilot","Git","commit message","co-author","GitHub","en",4,false,"2026-05-08T15:10:25.614925+00:00","2026-05-08T15:10:25.603+00:00","done","44b02eb9-d789-4952-89d5-f52cb817af8d","how-to-audit-copilot-co-author-commit-metadata-en","tools","6e4caf80-a817-4b98-be12-4bb24b51ef73","published","2026-05-09T09:00:14.955+00:00",[32,33,34],"VS Code 1.118 can add a Copilot co-author line when Copilot helps with commits.","You can verify the behavior by inspecting the final Git commit metadata, not just the UI.","Teams should document whether AI-assisted attribution is allowed in commit history.",[36,38,40,42,44],{"name":16,"slug":37},"commit-message",{"name":14,"slug":39},"github-copilot",{"name":13,"slug":41},"vs-code",{"name":15,"slug":43},"git",{"name":17,"slug":17},{"id":28,"slug":46,"title":47,"language":48},"how-to-audit-copilot-co-author-commit-metadata-zh","如何稽核 Copilot 共作者提交中繼資料","zh",[50,56,62,68,74,80],{"id":51,"slug":52,"title":53,"cover_image":54,"image_url":54,"created_at":55,"category":27},"8b02abfa-eb16-4853-8b15-63d302c7b587","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-en","Why VidHub 会员互通不是“买一次全设备通用”","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789439875-uceq.png","2026-05-14T20:10:26.046635+00:00",{"id":57,"slug":58,"title":59,"cover_image":60,"image_url":60,"created_at":61,"category":27},"abe54a57-7461-4659-b2a0-99918dfd2a33","why-buns-zig-to-rust-experiment-is-right-en","Why Bun’s Zig-to-Rust experiment is the right move","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767895201-5745.png","2026-05-14T14:10:29.298057+00:00",{"id":63,"slug":64,"title":65,"cover_image":66,"image_url":66,"created_at":67,"category":27},"f0015918-251b-43d7-95af-032d2139f3f6","why-openai-api-pricing-is-product-strategy-en","Why OpenAI API pricing is a product strategy, not a footnote","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749841805-uyhg.png","2026-05-14T09:10:27.921211+00:00",{"id":69,"slug":70,"title":71,"cover_image":72,"image_url":72,"created_at":73,"category":27},"7096dab0-6d27-42d9-b951-7545a5dddf33","why-claude-code-prompt-design-beats-ide-copilots-en","Why Claude Code’s prompt design beats IDE copilots","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742651754-3kxk.png","2026-05-14T07:10:30.953808+00:00",{"id":75,"slug":76,"title":77,"cover_image":78,"image_url":78,"created_at":79,"category":27},"1f1bff1e-0ebc-4fa7-a078-64dc4b552548","why-databricks-model-serving-is-right-default-en","Why Databricks Model Serving is the right default for production infe…","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692290314-gopj.png","2026-05-13T17:10:32.167576+00:00",{"id":81,"slug":82,"title":83,"cover_image":84,"image_url":84,"created_at":85,"category":27},"029add1b-4386-4970-bd37-45809d6f7f2f","why-ibm-bob-right-kind-ai-coding-assistant-en","Why IBM’s Bob is the right kind of AI coding assistant","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778664645900-cyz4.png","2026-05-13T09:30:22.413196+00:00",[87,92,97,102,107,112,117,122,127,132],{"id":88,"slug":89,"title":90,"created_at":91},"8008f1a9-7a00-4bad-88c9-3eedc9c6b4b1","surepath-ai-mcp-policy-controls-en","SurePath AI's New MCP Policy Controls Enhance AI Security","2026-03-26T01:26:52.222015+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"27e39a8f-b65d-4f7b-a875-859e2b210156","mcp-standard-ai-tools-2026-en","MCP Standard in 2026: Integrating AI Tools","2026-03-26T01:27:43.127519+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"165f9a19-c92d-46ba-b3f0-7125f662921d","rag-2026-transforming-enterprise-ai-en","How RAG in 2026 is Transforming Enterprise AI","2026-03-26T01:28:11.485236+00:00",{"id":103,"slug":104,"title":105,"created_at":106},"6a2a8e6e-b956-49d8-be12-cc47bdc132b2","mastering-ai-prompts-2026-guide-en","Mastering AI Prompts: A 2026 Guide for Developers","2026-03-26T01:29:07.835148+00:00",{"id":108,"slug":109,"title":110,"created_at":111},"d6653030-ee6d-4043-898d-d2de0388545b","evolving-world-prompt-engineering-en","The Evolving World of Prompt Engineering","2026-03-26T01:29:42.061205+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"3ab2c67e-4664-4c67-a013-687a2f605814","garry-tan-open-sources-claude-code-toolkit-en","Garry Tan Open-Sources a Claude Code Toolkit","2026-03-26T08:26:20.245934+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"66a7cbf8-7e76-41d4-9bbf-eaca9761bf69","github-ai-projects-to-watch-in-2026-en","20 GitHub AI Projects to Watch in 2026","2026-03-26T08:28:09.752027+00:00",{"id":123,"slug":124,"title":125,"created_at":126},"231306b3-1594-45b2-af81-bb80e41182f2","claude-code-vs-cursor-2026-en","Claude Code vs Cursor in 2026","2026-03-26T13:27:14.177468+00:00",{"id":128,"slug":129,"title":130,"created_at":131},"9f332fda-eace-448a-a292-2283951eee71","practical-github-guide-learning-ml-2026-en","A Practical GitHub Guide to Learning ML in 2026","2026-03-27T01:16:50.125678+00:00",{"id":133,"slug":134,"title":135,"created_at":136},"1b1f637d-0f4d-42bd-974b-07b53829144d","aiml-2026-student-ai-ml-lab-repo-review-en","AIML-2026 Is a Bare-Bones Student Lab Repo","2026-03-27T01:21:51.661231+00:00"]