Intro
สวัสดีครับ เมื่อคืนก่อนจะนอนบังเอิญอ่านไปเจอตัวช่วยเขียน git commit messages ที่เป็นโปรเจค Open-source บน github ชื่อ https://github.com/di-sukharev/opencommit ดูแล้วน่าสนใจมาก ๆ
พอวันต่อมา ได้ลองใช้ดูพบว่ามันเจ๋งมาก ๆ เลยขอเอามาเขียนแชร์ไว้สักหน่อย 😄
ปัญหาของการเขียน git commit messages
- เขียนไม่ถูก Format
- ไม่รู้จะเขียนอย่างไร
- เขียนยาก และขี้เกียจเขียน 😅
ด้วยเหตุผลข้างบนทำให้เราหลายคนไม่ชอบเขียน git commit messages
ทั้ง ๆ ที่มันประโยชน์ แต่หลัก ๆ ผมเองก็เป็นคือขี้เกียจเขียน 😅
ผมเคยเขียนบทความเกี่ยวกับวิธีการเขียน git commit messages
ที่ถูกต้องไว้ที่
เขียน Git commits อย่างไรไม่ให้มั่ว... มาดูวิธีที่ถูกต้อง (Best Practices) ที่: /git-conventional-commits
ให้ AI ช่วยเขียน git commit messages
OpenCommit นั้นใช้วิธีการเขียนข้อความ git commit ตามมามาตรฐานของ Conventional commits และสามารถเปิดใช้ GitMoji ในข้อความ Commit messages ได้
โดยเบื้องหลังการทำงานของ AI ใน OpenCommit นั้นใช้พลังของ OpenAI มาช่วยสร้าง Commit messages
การติดตั้ง
ติดตั้ง OpenCommit:
$ npm install -g opencommit
ขอใช้งาน API key จาก OpenAI
ตั้งค่า API key กับ OpenCommit:
$ opencommit config set OPENAI_API_KEY=<your_api_key>
ไฟล์การตั้งค่าต่าง ๆ ของ OpenCommit จะอยู่ที่
~/.opencommit
การใช้งาน
วิธีแบบที่ 1
- ใช้
git
เพิ่มไฟล์ที่ต้องการเข้า staged changes - จากนั้นรันคำสั่ง
opencommit
$ git add <files...>
$ opencommit
หรือสามารถใช้คำสั่งลัดสั้น ๆ คือ oc
:
$ git add <files...>
$ oc
วิธีแบบที่ 2
หรือจะใช้งานแบบง่าย ๆ ด้วยคำสั่งเดียว แล้วไปเลือกไฟล์ที่อยาก commit (ไม่ต้องใช้ git add
):
$ oc
┌ open-commit
│
◇ No files are staged
│
◆ Do you want to stage all files and generate commit message?
│ ○ Yes / ● No
└
การตั้งค่า
เปิดใช้งาน commits emoji 🤠
เปิดใช้งาน emoji:
$ oc config set emoji=true
ปิดใช้งาน emoji:
$ oc config set emoji=false
เปิดใช้งาน Descriptions of changes
เปิดใช้งาน descriptions:
$ oc config set description=true
ปิดใช้งาน description:
$ oc config set description=false
สรุป
สรุปการใช้งาน หลังจากที่ผมเองได้ทดลองใช้แล้วพบว่ามันช่วยเขียน commit messages ได้ฉลาดและใช้งานง่ายมาก ๆ
เราสามารถใช้ OpenCommit ในการช่วยเขียนข้อความ ที่เราไม่จำเป็นข้อเขียนเอง (ค่อยแก้ที่หลังก็ได้) แถมบางที AI เขียนข้อความออกมาเหมือนจะรู้ดีกว่าเจ้าของอย่างเราด้วยซ้ำ 😅
OpenCommit นั้นใช้วิธีการเขียนข้อความ git commit ตามมามาตรฐานของ Conventional commits และสามารถเปิดใช้ GitMoji ในข้อความ Commit messages ได้
โดยเบื้องหลังการทำงานของ AI ใน OpenCommit นั้นใช้พลังของ OpenAI มาช่วยสร้าง Commit messages
ส่วนรายละเอียด ๆ อื่นสามารถดูได้ที่นี่ OpenCommit