Skip to main content

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

· 4 min read

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​

แชร์บทความ
☕

เนื้อหานี้มีประโยชน์ไหม? ช่วยสนับสนุนค่ากาแฟให้ผู้เขียนสักแก้ว

Buy Me a Coffee
Loading...