ใช้ AI ช่วยเขียน git commit messages ที่จะทำให้คุณโปรได้ทันที 😎
Table of contents
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 OCO_OPENAI_API_KEY=<your_api_key>
ไฟล์การตั้งค่าต่าง ๆ ของ OpenCommit จะอยู่ที่
~/.opencommit
การใช้งาน
วิธีแบบที่ 1
- ใช้
git
เพิ่มไฟล์ที่ต้องการเข้า staged changes - จากนั้นรันคำสั่ง
opencommit
$ git add <files...>
$ opencommit
หรือสามารถใช้คำสั่งลัดสั้น ๆ คือ oco
:
$ git add <files...>
$ oco
วิธีแบบที่ 2
หรือจะใช้งานแบบง่าย ๆ ด้วยคำสั่งเดียว แล้วไปเลือกไฟล์ที่อยาก commit (ไม่ต้องใช้ git add
):
$ oco
┌ open-commit
│
◇ No files are staged
│
◆ Do you want to stage all files and generate commit message?
│ ○ Yes / ● No
└
การตั้งค่า
เปิดใช้งาน commits emoji 🤠
เปิดใช้งาน emoji:
$ oco config set OCO_EMOJI=true
ปิดใช้งาน emoji:
$ oco config set OCO_EMOJI=false
เปิดใช้งาน Descriptions of changes
เปิดใช้งาน descriptions:
$ oco config set OCO_DESCRIPTION=true
ปิดใช้งาน description:
$ oco config set OCO_DESCRIPTION=false
สรุป
สรุปการใช้งาน หลังจากที่ผมเองได้ทดลองใช้แล้วพบว่ามันช่วยเขียน commit messages ได้ฉลาดและใช้งานง่ายมาก ๆ
เราสามารถใช้ OpenCommit ในการช่วยเขียนข้อความ ที่เราไม่จำเป็นข้อเขียนเอง (ค่อยแก้ที่หลังก็ได้) แถมบางที AI เขียนข้อความออกมาเหมือนจะรู้ดีกว่าเจ้าของอย่างเราด้วยซ้ำ 😅
OpenCommit นั้นใช้ว ิธีการเขียนข้อความ git commit ตามมามาตรฐานของ Conventional commits และสามารถเปิดใช้ GitMoji ในข้อความ Commit messages ได้
โดยเบื้องหลังการทำงานของ AI ใน OpenCommit นั้นใช้พลังของ OpenAI มาช่วยสร้าง Commit messages
ส่วนรายละเอียด ๆ อื่นสามารถดูได้ที่นี่ OpenCommit