Skip to main content

ใช้ AI ช่วยเขียน git commit messages ที่จะทำให้คุณโปรได้ทันที 😎

Kongvut Sangkla

Intro

สวัสดีครับ เมื่อคืนก่อนจะนอนบังเอิญอ่านไปเจอตัวช่วยเขียน git commit messages ที่เป็นโปรเจค Open-source บน github ชื่อ https://github.com/di-sukharev/opencommit ดูแล้วน่าสนใจมาก ๆ

พอวันต่อมา ได้ลองใช้ดูพบว่ามันเจ๋งมาก ๆ เลยขอเอามาเขียนแชร์ไว้สักหน่อย 😄

ปัญหาของการเขียน git commit messages

  • เขียนไม่ถูก Format
  • ไม่รู้จะเขียนอย่างไร
  • เขียนยาก และขี้เกียจเขียน 😅

ด้วยเหตุผลข้างบนทำให้เราหลายคนไม่ชอบเขียน git commit messages ทั้ง ๆ ที่มันประโยชน์ แต่หลัก ๆ ผมเองก็เป็นคือขี้เกียจเขียน 😅

info

ผมเคยเขียนบทความเกี่ยวกับวิธีการเขียน 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

การติดตั้ง

  1. ติดตั้ง OpenCommit:

    $ npm install -g opencommit
  2. ขอใช้งาน API key จาก OpenAI

  3. ตั้งค่า API key กับ OpenCommit:

    $ opencommit config set OCO_OPENAI_API_KEY=<your_api_key>

    ไฟล์การตั้งค่าต่าง ๆ ของ OpenCommit จะอยู่ที่ ~/.opencommit

การใช้งาน

วิธีแบบที่ 1

  1. ใช้ git เพิ่มไฟล์ที่ต้องการเข้า staged changes
  2. จากนั้นรันคำสั่ง 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

References

Loading...