อัปเดต
Tools
commit-rewriter 0.2 ปลดล็อกให้จัดระเบียบประวัติ Git ได้ทุก branch ไม่ใช่แค่ตัวหลัก
เครื่องมือ rewrite commit ของ Simon Willison ขยับเวอร์ชัน เพิ่มธง --branch ให้เล็งสาขาอื่นได้ตรงๆ
ทีมข่าว เอไอไทย.com
⏱ อ่าน 2 นาที
เรื่องเล็กๆ อย่างการเลือก branch ให้ถูก อาจเป็นตัวตัดสินว่าเครื่องมือจัดประวัติ Git จะได้ใช้จริงหรือถูกทิ้งไว้ในลิ้นชัก
ถ้าใครเคยลองใช้เครื่องมือ rewrite commit ดีๆ สักตัว จะรู้ว่าอุปสรรคจริงไม่ใช่ตอนแก้ข้อความ commit แต่มันคือ "แล้วกูจะแก้บน branch ที่กูทำงานอยู่ได้ไหม" ต่างหาก — และนั่นคือสิ่งที่ commit-rewriter 0.2 เพิ่งเข้ามาจัดการ
Simon Willison ประกาศปล่อย commit-rewriter เวอร์ชัน 0.2 ออกมา โดยของใหม่หลักคือการรองรับ branch อื่นนอกเหนือจาก default branch หรือก็คือ branch หลักอย่าง main หรือ master นั่นแหละ
วิธีใช้ก็ตรงไปตรงมา ไม่ต้องตั้งค่าอะไรยุ่งยาก แค่สั่งผ่าน uvx แล้วระบุชื่อ branch ที่ต้องการเข้าไป ตามรูปแบบ uvx commit-rewriter --branch other เท่านี้เครื่องมือก็จะไปทำงานกับ branch ที่ชื่อ other แทนที่จะไปยุ่งกับ branch หลัก
ฟังดูเหมือนเป็นฟีเจอร์เล็กๆ เพิ่มธงคำสั่งเดียวจบ แต่ถ้ามองจากมุมคนที่ทำงานกับ Git จริงจัง การ rewrite commit บน branch อื่นเป็นเรื่องที่เจอบ่อยมากในชีวิตจริง ไม่ว่าจะเป็นการจัดระเบียบประวัติก่อน merge เข้า main การแก้ข้อความ commit ที่พิมพ์ผิดบน feature branch หรือการ squash commit ให้ดูสะอาดก่อนส่ง PR
ก่อนหน้านี้ ถ้าเครื่องมือตัวนี้ล็อกไว้แค่ default branch มันก็เท่ากับใช้ได้แค่ครึ่งเดียว — เพราะงานจริงส่วนใหญ่ของนักพัฒนาคือการจัดการ branch ยิบย่อยที่แตกออกมา ไม่ใช่ไปนั่งแก้ประวัติบน main ตรงๆ ซึ่งปกติก็ไม่ควรทำอยู่แล้ว
จุดที่ผมชอบคือการเลือกใช้ uvx เป็นช่องทางรัน เป็นวิธีที่เบามาก ไม่ต้อง pip install อะไรให้รกเครื่อง แค่เรียกใช้แล้วจบ ซึ่งเป็นแนวทางที่เครื่องมือ CLI สาย Python ยุคนี้หันมาใช้กันเยอะขึ้นเรื่อยๆ และมันเข้ากับปรัชญาของเครื่องมือแบบนี้ที่ควรจะ "หยิบมาใช้แล้ววางได้" ไม่ต้องผูกมัด
อีกอย่างที่บอกได้จาก release note สั้นๆ นี้คือ commit-rewriter ยังอยู่ในช่วงขยับฟีเจอร์พื้นฐานให้ครบก่อน — ยังไม่ได้ไปเล่นของหวานอย่างการ integrate กับ AI หรือ auto-suggest อะไรทำนองนั้น ซึ่งผมมองว่าเป็นจังหวะที่ถูกต้องแล้ว เครื่องมือจัดการ Git ควรจะ "คาดเดาได้" และ "ทำในสิ่งที่สั่ง" ให้ชัดก่อน ค่อยไปเติมความฉลาดทีหลัง ไม่งั้นคนใช้จะไม่กล้าปล่อยให้มันแตะประวัติ commit ที่แสนสำคัญของตัวเอง
commit-rewriter 0.2 ไม่ได้เป็นข่าวใหญ่ แต่เป็นสัญญาณว่าเครื่องมือจัดประวัติ Git ตัวนี้กำลังโตในทิศทางที่คนทำงานจริงต้องการ — เพิ่มความยืดหยุ่นโดยไม่ทำให้ความเรียบง่ายหายไป ใครที่ยังใช้ git rebase -i แล้วปวดหัวอยู่ ลองเก็บตัวนี้ไว้ในลิสต์ดูได้เลย
ที่มา: Simon Willison's Weblog — อ่านต้นฉบับ
ความคิดเห็น 5
กำลังโหลดความคิดเห็น...