วิธีลบ Co-Authored-By Claude ออกจากคอมมิต Git ของคุณ

Claude Code เซ็นชื่อคอมมิตของคุณด้วย trailer Co-Authored-By และเซ็นชื่อ pull request ของคุณด้วยบรรทัด Generated with Claude Code นี่คือการตั้งค่าที่ลบมันออก ไฟล์ที่ต้องใส่การตั้งค่านั้น และวิธีล้างคอมมิตที่คุณพุชไปแล้ว

คุณสั่งให้ Claude Code คอมมิต แล้วข้อความก็จบด้วยบรรทัดที่คุณไม่ได้เขียน: Co-Authored-By: Claude Opus 4.6 <[email protected]> เปิด pull request ด้วยมัน แล้วคำอธิบายก็จบด้วยอีโมจิหุ่นยนต์และ "Generated with Claude Code" ทั้งสองอย่างไม่ใช่บั๊ก ทั้งคู่มาจากการตั้งค่าเดียว และคุณเปลี่ยนมันได้ในหนึ่งนาที

คู่มือนี้ครอบคลุมการตั้งค่านั้น ไฟล์ที่ต้องใส่เพื่อให้มันมีผลกับคุณ กับโปรเจกต์เดียว หรือกับทั้งทีม คีย์เก่าที่ถูกประกาศเลิกใช้ซึ่งคุณอาจยังมีอยู่ และวิธีล้างคอมมิตที่มีบรรทัดนั้นอยู่แล้ว ข้อมูลเกี่ยวกับ Claude Code มาจากเอกสารอ้างอิงการตั้งค่าของมัน ซึ่งเราอ่านเมื่อวันที่ 12 พฤศจิกายน 2026 โดยติดตั้ง Claude Code 2.1.318 ไว้

คำตอบสั้น ๆ ใส่สิ่งนี้ลงใน ~/.claude/settings.json:

{
  "attribution": {
    "commit": "",
    "pr": ""
  }
}

คอมมิตใหม่จะไม่มี trailer อีกต่อไป pull request ใหม่จะไม่มีบรรทัดนั้น คอมมิตที่ทำก่อนการเปลี่ยนแปลงยังคงมีมันอยู่จนกว่าคุณจะเขียนคอมมิตเหล่านั้นใหม่

สิ่งที่ Claude Code เพิ่ม และเพิ่มไว้ที่ไหน

Claude Code เพิ่มการระบุที่มาไว้สามที่ แต่ละที่มีคีย์ย่อยของตัวเองอยู่ใต้ attribution

ที่ไหนสิ่งที่ Claude Code เพิ่มโดยค่าเริ่มต้นคีย์ย่อย
ข้อความคอมมิตtrailer หนึ่งบรรทัด: Co-Authored-By: <model> <[email protected]>attribution.commit
คำอธิบาย pull requestอีโมจิหุ่นยนต์และ "Generated with Claude Code"attribution.pr
คอมมิตหรือ PR จากเซสชันคลาวด์หรือ Remote Controlลิงก์เซสชัน claude.ai ในรูปของ trailer Claude-Session บนคอมมิตattribution.sessionUrl

ชื่อใน trailer คือโมเดลที่ใช้อยู่ตอนที่ทำคอมมิต นั่นคือเหตุผลที่บรรทัดนี้เขียนว่า Claude Opus 4.6 ในสัปดาห์หนึ่ง และ Claude Sonnet 4.6 ในสัปดาห์ถัดไป และเป็นเหตุผลที่การค้นหาเกี่ยวกับปัญหานี้มีชื่อโมเดลมากมาย เมื่อ Claude Code รู้ว่าเป็นโมเดล Claude แต่ยืนยันเวอร์ชันไม่ได้ มันจะเขียน Claude เพียงคำเดียว เมื่อโมเดลเบื้องหลัง ANTHROPIC_BASE_URL ที่กำหนดเองไม่ใช่โมเดล Claude เลย มันจะเขียน Claude Code เมื่อ subagent เป็นผู้ทำคอมมิต trailer จะระบุชื่อโมเดลของ subagent นั้น

บรรทัดนี้ไม่ใช่ git hook Claude Code บอกให้ Claude เพิ่มมันเมื่อ Claude เขียนคอมมิตหรือ pull request เอง คอมมิตที่คุณทำเองในเทอร์มินัล หรือคอมมิตที่เครื่องมืออื่นทำ จะไม่มีวันได้รับบรรทัดนี้

ปิดด้วยการตั้งค่า attribution

attribution รับออบเจกต์ที่มีสามส่วน หรือ false เพื่อปิดทั้งหมด

ค่าผล
"commit": ""ไม่มี trailer บนคอมมิต
"pr": ""ไม่มีบรรทัดระบุที่มาในคำอธิบาย pull request
"sessionUrl": falseไม่มีลิงก์เซสชัน claude.ai บนคอมมิตและ pull request ที่ทำจากเซสชันคลาวด์หรือ Remote Control
"attribution": falseซ่อนทั้งสามอย่างในครั้งเดียว ต้องใช้ Claude Code 2.1.281 ขึ้นไป

รูปแบบสั้นนั้นน่าใช้ แต่อ่านบรรทัดเรื่องเวอร์ชันก่อน Claude Code ที่เก่ากว่า 2.1.281 จะปฏิเสธ "attribution": false และมันไม่ได้แค่เพิกเฉยต่อคีย์นั้น: มันข้ามไฟล์การตั้งค่าทั้งไฟล์ที่มีคีย์นั้น พร้อมกับสิทธิ์ hook และโมเดลของคุณ หากไฟล์เดียวกันถูกอ่านบนเครื่องที่มีเวอร์ชันต่างกัน ให้ใช้รูปแบบยาว:

{
  "attribution": {
    "commit": "",
    "pr": "",
    "sessionUrl": false
  }
}

รัน /status เพื่อตรวจว่าไฟล์ถูกโหลดแล้ว: บรรทัด Setting sources แสดงทุกไฟล์ที่ Claude Code อ่าน หากเซสชันที่เปิดอยู่ก่อนแล้วยังเพิ่มบรรทัดนั้นต่อไป ให้เริ่มเซสชันใหม่

ไฟล์ไหน: คุณคนเดียว โปรเจกต์เดียว หรือทั้งทีม

คีย์นี้ใช้ได้ในทุกไฟล์การตั้งค่า ไฟล์เป็นตัวกำหนดว่ามันมีผลกับใคร

ไฟล์มีผลกับใคร
~/.claude/settings.jsonคุณ ในทุกโปรเจกต์บนเครื่องนี้
.claude/settings.json ในโปรเจกต์ทุกคนที่ทำงานในโปรเจกต์ เมื่อคุณคอมมิตไฟล์นี้แล้ว
.claude/settings.local.json ในโปรเจกต์คุณ ในโปรเจกต์นี้เท่านั้น Claude Code กันไฟล์นี้ออกจาก git ตอนที่สร้างมันขึ้นมา
managed settings ที่องค์กรของคุณแจกจ่ายทุกคนที่องค์กรแจกจ่ายไปให้

เมื่อสองไฟล์ตั้งค่าคีย์นี้ ไฟล์ที่อยู่สูงกว่าจะชนะ: managed settings ก่อน ตามด้วย --settings บนบรรทัดคำสั่ง ตามด้วยไฟล์ local ของโปรเจกต์ ตามด้วยไฟล์ที่แชร์กันของโปรเจกต์ แล้วจึงเป็นไฟล์ผู้ใช้ของคุณ ลำดับนี้ทำให้เกิดสองกรณี หากทีมของคุณคอมมิตไฟล์ที่ตั้งใจเก็บ trailer ไว้ .claude/settings.local.json ของคุณเองจะทับค่านั้นสำหรับคุณ โดยไม่เปลี่ยนอะไรสำหรับคนอื่น หากองค์กรของคุณตั้งค่าการระบุที่มาไว้ใน managed settings ไม่มีอะไรที่คุณเขียนจะเปลี่ยนมันได้

คุณยังบอก Claude ใน CLAUDE.md ของคุณได้ว่าอย่าเพิ่มบรรทัดนั้น และ Claude Code ก็บอก Claude ว่าคำสั่งของคุณเองเรื่องการระบุที่มามีความสำคัญเหนือบรรทัดเริ่มต้นของมัน เว้นแต่บรรทัดนั้นมาจาก managed settings ความแตกต่างอยู่ที่ธรรมชาติของมัน: การตั้งค่าลบข้อความที่ Claude Code ขอให้เพิ่ม ส่วนคำสั่งคือสิ่งที่โมเดลอ่านแล้วนำไปปฏิบัติ ใช้การตั้งค่า

คีย์เก่า includeCoAuthoredBy

ก่อนจะมี attribution สวิตช์นี้คือ includeCoAuthoredBy มันถูกประกาศเลิกใช้ตั้งแต่ Claude Code 2.0.62 แต่ยังถูกอ่านอยู่:

  • "includeCoAuthoredBy": false ซ่อนทั้ง trailer ของคอมมิตและบรรทัดของ pull request
  • ทันทีที่ตั้งค่า attribution.commit หรือ attribution.pr Claude Code จะเพิกเฉยต่อ includeCoAuthoredBy และใช้ข้อความเริ่มต้นของมันกับส่วนใดก็ตามในสองส่วนที่คุณไม่ได้ตั้งไว้

กฎข้อที่สองนี้คือสาเหตุที่พบบ่อยที่ทำให้ trailer กลับมา คุณเคยมี includeCoAuthoredBy: false แล้วเพิ่ม "attribution": {"pr": ""} เพื่อลบเฉพาะบรรทัดของ PR แล้ว trailer ของคอมมิตก็กลับมาอีก เพราะตอนนี้ attribution เป็นตัวตัดสิน และ commit ไม่ได้ถูกตั้งไว้ ย้ายไปใช้ attribution และตั้งค่าทั้งสองส่วน

แทนที่บรรทัดนี้แทนการลบทิ้ง

บางทีมต้องการเก็บร่องรอยว่าคอมมิตไหนได้รับความช่วยเหลือจาก AI เพียงแต่ไม่ใช่ด้วยบรรทัดนั้น attribution.commit รับข้อความอะไรก็ได้ รวมถึง trailer ด้วย Git อ่าน trailer จากย่อหน้าสุดท้ายของข้อความเท่านั้น ดังนั้นให้วาง trailer ไว้ด้วยกันตอนท้าย:

{
  "attribution": {
    "commit": "Assisted-by: Claude Code"
  }
}

คอมมิตสิ่งนี้ลงใน .claude/settings.json ของโปรเจกต์ แล้ว Claude Code ของเพื่อนร่วมทีมทุกคนจะเขียนบรรทัดเดียวกัน

คอมมิตที่มี trailer อยู่แล้ว

การตั้งค่านี้เปลี่ยนเฉพาะคอมมิตที่เขียนหลังจากนั้น สำหรับคอมมิตที่มีอยู่แล้ว เครื่องมือที่เหมาะสมขึ้นอยู่กับว่าคอมมิตเหล่านั้นไปไกลแค่ไหนแล้ว

คอมมิตล่าสุดที่ยังไม่ได้พุช: amend มันแล้วลบบรรทัดนั้นในเอดิเตอร์

git commit --amend

หลายคอมมิตบน branch ที่คุณยังไม่ได้แชร์: rebase แล้วแก้ข้อความทีละคอมมิต

git rebase -i origin/main

ทั้งประวัติ: git filter-repo เขียนข้อความของทุกคอมมิตใหม่ในรอบเดียว มันต้องใช้ clone ใหม่ และเป็นเครื่องมือแยกที่ต้องติดตั้งเพิ่ม:

git filter-repo --message-callback '
return re.sub(rb"(?mi)^Co-Authored-By: Claude[^\n]*<noreply@anthropic\.com>\n?", b"", message).rstrip(b"\n") + b"\n"
'

การเขียนใหม่มีต้นทุน และบน branch ที่แชร์กัน ต้นทุนนั้นมักสูงกว่าตัวบรรทัดเอง hash ของทุกคอมมิตหลังจากคอมมิตแรกที่ถูกแก้จะกลายเป็นของใหม่ ดังนั้น branch ที่พุชแล้วต้อง force push ผู้ร่วมงานทุกคนต้องเริ่มใหม่จากประวัติใหม่ pull request ที่เปิดอยู่ซึ่งอิงกับคอมมิตเก่าจะพัง และคอมมิตที่เซ็นไว้จะเสียลายเซ็น บน branch ส่วนตัวก่อน merge ทำได้เลย บน branch main ที่คนอื่นดึงไปแล้ว ปล่อยไว้อย่างนั้นและตั้งคีย์ไว้สำหรับคอมมิตต่อจากนี้

trailer ทำอะไรบน GitHub

GitHub อ่าน trailer Co-authored-by และแสดงผู้ร่วมเขียนบนคอมมิตเมื่ออีเมลนั้นเป็นของบัญชี GitHub ในเดือนมิถุนายน 2025 มี issue สองรายการใน repository anthropics/claude-code (#1653 และ #1655) รายงานว่าคอมมิตถูกระบุผ่านอีเมลนั้นไปยังบัญชี GitHub ที่ไม่เกี่ยวข้องกับ Anthropic ทั้งสองรายการถูกปิดแล้ว ไม่ว่าอีเมลนั้นจะชี้ไปที่บัญชีใดในวันใดวันหนึ่ง การลบ trailer จะลบผู้ร่วมเขียนออกจากคอมมิตที่ตามมา และจากคอมมิตเหล่านั้นเท่านั้น

CLI อื่น ๆ ทำอย่างไร

Claude Code ไม่ใช่ตัวเดียวที่เซ็นชื่อบนงานของตัวเอง และ CLI แต่ละตัวมีสวิตช์ของตัวเอง

  • Codex. ในซอร์สโค้ด openai/codex ที่เราอ่านเมื่อวันที่ 12 พฤศจิกายน 2026 Codex เพิ่ม Co-authored-by: Codex <[email protected]> ลงในคอมมิต และเพิ่ม "Generated with Codex." ลงในเนื้อหา pull request เมื่อเปิดการระบุที่มาไว้สำหรับ workspace ของคุณ ซึ่งเป็นนโยบายที่มันดึงมาตอนเริ่มเซสชัน เมื่อนโยบายนี้ปิดอยู่ Codex จะได้รับคำสั่งไม่ให้เพิ่มบรรทัดใดเลย
  • Aider. มันต่อท้าย "(aider)" เข้ากับชื่อผู้เขียนและผู้คอมมิตของ git แทนการเพิ่ม trailer --no-attribute-author และ --no-attribute-committer ปิดพฤติกรรมนี้ และ --attribute-co-authored-by เปลี่ยนไปใช้ trailer Co-authored-by แทน

สิ่งที่เราทำใน AgentsRoom

เรารันเอเจนต์หลายตัวบน repository เดียวกันทุกวัน Claude Code ข้าง ๆ Codex และตัวอื่น ๆ และคอมมิตคือจุดที่งานของพวกมันมาบรรจบกัน มีสองกรณี และทั้งสองกรณีไม่ได้ใช้กฎเดียวกัน

เมื่อเอเจนต์คอมมิตเองในเทอร์มินัลของมัน CLI ของมันเป็นผู้เขียนข้อความ ดังนั้นการตั้งค่าของ CLI นั้นจึงมีผล: attribution สำหรับ Claude Code นโยบายของ workspace สำหรับ Codex และแฟล็กสำหรับ Aider

เมื่อคุณคอมมิตจาก AgentsRoom ไม่ว่าจากแท็บ Changes โหมดการตรวจสอบ การคอมมิตอัตโนมัติเมื่อเอเจนต์ปิดตัวลง หรือหน้าจอ Changes ของแอปบนโทรศัพท์ AgentsRoom เป็นผู้เขียนคอมมิต และไม่มี CLI ใดเพิ่ม trailer ของตัวเอง สิ่งที่อยู่ด้านล่างคือ ลายเซ็นคอมมิต ของ AgentsRoom และคุณเป็นคนกำหนดเอง โดยค่าเริ่มต้น มันเพิ่มหนึ่งบรรทัดที่มีบทบาทของเอเจนต์แต่ละตัวที่มีไฟล์อยู่ในคอมมิต และเวลาที่เอเจนต์นั้นใช้:

bug : Fix the login redirect

AgentsRoom-Agent: fullstack; time=42m

แต่ละส่วนเป็นสวิตช์แยกกันใน การตั้งค่า > Git > ลายเซ็นคอมมิต สำหรับบัญชีของคุณ โฟลเดอร์ของโปรเจกต์ หรือโปรเจกต์เดียว: บทบาทของเอเจนต์ เวลาที่ใช้ และส่วนที่ปิดไว้โดยค่าเริ่มต้น ได้แก่ ค่าใช้จ่าย สัดส่วนโควตาที่ใช้ไป และพรอมต์ที่คุณพิมพ์ ปิด “เอเจนต์” และ “เวลาที่ใช้” แล้วคอมมิตของคุณจะเหมือนเดิมทุกประการ เราเปิดบทบาทไว้ใน repository ของเราเอง: บน repository ที่มี CLI สี่ตัวคอมมิตอยู่ ชื่อโมเดลบอกว่าโมเดลไหนเขียนโค้ด ส่วนบทบาทบอกว่ามันกำลังทำงานอะไร ซึ่งเป็นสิ่งที่เรามองหาเมื่อการเปลี่ยนแปลงหนึ่งทำให้บางอย่างพังในอีกสามสัปดาห์ต่อมา changelog สาธารณะของเราอ่านบรรทัดเดียวกันนี้เพื่อแสดงว่าเอเจนต์ใดทำงานในแต่ละรีลีส

หากคุณต้องการเหตุผลเบื้องหลังการเปลี่ยนแปลงด้วย Commit Context จะเพิ่มลิงก์ไปยังบทสนทนาของเอเจนต์ในบล็อก trailer เดียวกัน และเมื่อคุณไม่อยากเขียนข้อความเองเลย ข้อความการคอมมิต AI จะร่างข้อความให้จาก diff

คำถามที่พบบ่อย

จะลบ Co-Authored-By Claude ออกจากคอมมิตของฉันได้อย่างไร?

เพิ่ม "attribution": {"commit": "", "pr": ""} ลงใน ~/.claude/settings.json จากนั้น Claude Code จะหยุดเพิ่ม trailer Co-Authored-By ลงในคอมมิตที่มันเขียน และหยุดเพิ่มบรรทัด Generated with Claude Code ลงใน pull request ที่มันเปิด ในทุกโปรเจกต์บนเครื่องนั้น สำหรับ Claude Code 2.1.281 ขึ้นไป "attribution": false ซ่อนทุกอย่างได้ด้วยค่าเดียว คอมมิตที่ทำก่อนการเปลี่ยนแปลงยังคงมี trailer อยู่

includeCoAuthoredBy ยังใช้ได้อยู่ไหม?

ยังใช้ได้ แต่ถูกประกาศเลิกใช้ตั้งแต่ Claude Code 2.0.62 includeCoAuthoredBy: false ซ่อนทั้ง trailer ของคอมมิตและบรรทัดของ pull request เว้นแต่คีย์ attribution ที่ใหม่กว่าจะตั้งค่า commit หรือ pr ไว้ ในกรณีนั้น attribution จะเป็นฝ่ายชนะ การตั้งค่าใหม่ควรใช้ attribution

ทำไม trailer ถึงเขียนว่า Claude Opus 4.6 หรือ Sonnet 4.6 แทนที่จะเป็น Claude?

trailer ระบุชื่อโมเดลที่ใช้อยู่ตอนที่ทำคอมมิต จึงเปลี่ยนไปตามโมเดลของคุณ Claude Code เขียน Claude เพียงคำเดียวเมื่อยืนยันเวอร์ชันที่แน่นอนไม่ได้ และเขียน Claude Code เมื่อโมเดลเบื้องหลัง ANTHROPIC_BASE_URL ที่กำหนดเองไม่ใช่โมเดล Claude การตั้งค่านี้ลบทุกรูปแบบเหล่านี้ออก

จะลบ trailer ออกจากคอมมิตที่ทำไปแล้วได้อย่างไร?

สำหรับคอมมิตล่าสุด ให้รัน git commit --amend แล้วลบบรรทัดนั้น สำหรับหลายคอมมิตที่ยังไม่ได้พุช ให้ใช้ git rebase -i แล้วแก้ข้อความทีละคอมมิต สำหรับทั้งประวัติ git filter-repo ที่ใช้ message callback จะลบบรรทัดนั้นออกจากทุกคอมมิต บน clone ใหม่ การเขียนใหม่จะเปลี่ยน hash ของทุกคอมมิตหลังจากคอมมิตแรกที่ถูกแก้ ดังนั้นประวัติที่พุชไปแล้วต้อง force push และผู้ร่วมงานทุกคนต้องเริ่มจากประวัติใหม่

บริษัทของฉันบังคับเปิดการระบุที่มากลับคืนได้ไหม?

ได้ managed settings ที่องค์กรแจกจ่ายอยู่เหนือทุกไฟล์ที่คุณควบคุม ดังนั้นค่า attribution ที่ตั้งไว้ตรงนั้นจะชนะการตั้งค่าระดับผู้ใช้ ระดับโปรเจกต์ และระดับ local ของคุณ รัน /status ใน Claude Code: บรรทัด Setting sources จะแสดงว่ามีแหล่ง managed ที่มีผลกับคุณหรือไม่

การลบ trailer เป็นการซ่อนว่าฉันใช้ AI หรือไม่?

มันลบบรรทัดเดียวออกจากข้อความคอมมิต ไม่มีอะไรอื่น Claude Code เป็นผู้เสนอการตั้งค่านี้เอง และเอกสารของมันไม่ได้ขอให้คุณเก็บบรรทัดนั้นไว้ แต่บางโปรเจกต์และบางนายจ้างขอให้ผู้ร่วมพัฒนาแจ้งเมื่อได้รับความช่วยเหลือจาก AI ดังนั้นอ่านกฎของ repository ที่คุณพุชไปก่อนจะปิดมันที่นั่น

วิศวกร DevOpsนักเขียนนักพัฒนาส่วนหน้าเจ้าหน้าที่ฝ่ายขายนักพัฒนาด้านหลังโค้ชและเทรนเนอร์สถาปนิกซอฟต์แวร์ที่ปรึกษากฎหมายวิศวกร QAการเงินและธุรการนักพัฒนา Full-Stackครีเอทีฟดีไซเนอร์นักพัฒนามือถือนักวิจัยวิศวกรความปลอดภัยHR และการสรรหาบุคลากร
ผู้จัดการโครงการนักแปลGit Expertนักวิเคราะห์ข้อมูลผู้เชี่ยวชาญด้าน SEOนักบัญชีผู้เชี่ยวชาญด้านการแปลภาษาการสื่อสารและประชาสัมพันธ์Brainstormerปฏิบัติการและโลจิสติกส์ผู้เชี่ยวชาญด้านการตลาดฝ่ายบริการลูกค้าผู้ช่วยโปรเจกต์เจ้าหน้าที่จัดซื้อผู้ดูแลคอมมูนิตี้ผู้ช่วยส่วนตัว

ดาวน์โหลด AgentsRoom

รันเอเจนต์ AI ทั้งหมดของคุณในทุกโปรเจกต์ จากหน้าต่างเดียว

ดาวน์โหลด AgentsRoomฟรี

แอปคู่หู: ตรวจสอบเอเจนต์ของคุณได้ทุกที่

นำของคุณเอง: Claude, Codex, Antigravity CLI, หรือผู้ให้บริการ AI อื่น ๆ

รับส่วนขยาย
Chrome Web Store

ส่งข้อบกพร่องและคำขอไปยังแบ็คล็อกสาธารณะของคุณโดยตรง

เอเจนต์ที่อ่านได้เหมือนบทสนทนา

เอเจนต์แต่ละตัวมีบทบาท มีใบหน้า และมีเธรดที่คุณอ่านได้เหมือนแอปแชต

มุมมองบทสนทนา

มุมมองบทสนทนาของ AgentsRoom: งานของเอเจนต์ AI เขียนโค้ดแสดงเป็นเธรดแชต
หลายโปรเจกต์
ผู้ให้บริการหลายราย
หลาย agents
สถานะสด
ไฟล์ diff & commit
คู่หูมือถือ
ตัวอย่างสด
ทีมเอเจนต์
การทำงานอัตโนมัติในเบราว์เซอร์
การพัฒนาที่ขับเคลื่อนด้วย backlog
ห้องสมุดคำสั่ง
ห้องสมุดทักษะ
ดูฟีเจอร์ทั้งหมด

อ่านต่อ