Commit และ Push
Stage ไฟล์ เขียนข้อความ commit ด้วยตนเองหรือให้ AI agent ช่วย และ push ไปยัง remote ของคุณได้ในไม่กี่คลิก
เมื่อคุณตรวจสอบ diff แล้วพอใจกับสิ่งที่ AI agent เปลี่ยนแปลง ก็ถึงเวลา commit และ push คู่มือนี้จะพาคุณไปทำความเข้าใจ workflow แบบเต็มรูปแบบ ตั้งแต่การ stage ไปจนถึงการ push ไปยัง remote repository ของคุณ
Stage Changes
Staging ช่วยให้คุณเลือกได้อย่างแม่นยำว่าจะให้การเปลี่ยนแปลงใดบ้างเข้าไปอยู่ใน commit นี้ ตัวอย่างเช่น คุณอาจต้องการ commit โค้ดฟีเจอร์แยกจากการเปลี่ยนแปลงค่า config
ใน Git panel ไฟล์ที่ถูกแก้ไขทุกไฟล์จะปรากฏใน section Unstaged Changes:
- ติ๊ก checkbox ข้างไฟล์เพื่อ stage ทีละไฟล์
- คลิก Stage All เพื่อ stage ไฟล์ที่เปลี่ยนแปลงทั้งหมดในครั้งเดียว
- หากต้องการ unstage ไฟล์ ให้ยกเลิกการติ๊ก — ไฟล์นั้นจะกลับไปอยู่ใน Unstaged
ไฟล์ที่ถูก stage จะย้ายเข้าไปอยู่ใน section Staged Changes ด้านบนสุดของ sidebar เฉพาะไฟล์ที่ถูก stage เท่านั้นที่จะถูกรวมเข้าไปใน commit
คุณยังสามารถ stage เฉพาะ hunks (ส่วนย่อยของไฟล์) แทนที่จะ stage ทั้งไฟล์ก็ได้ ใน diff view ให้ hover เมาส์ไปบน hunk แล้วคลิกปุ่ม + ที่ปรากฏขึ้น เพื่อ stage เฉพาะส่วนนั้น เทคนิคนี้มีประโยชน์เมื่อไฟล์หนึ่งมีการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกันสองอย่าง และคุณต้องการ commit แค่หนึ่งในนั้นในตอนนี้
Write a Commit Message
เมื่อมีไฟล์ถูก stage แล้ว พิมพ์ข้อความ commit ของคุณในช่องข้อความที่ด้านล่างของ Git panel
ข้อความ commit ที่ดีช่วยให้ประวัติการเปลี่ยนแปลงอ่านง่าย — ทั้งสำหรับตัวคุณในอนาคต และสำหรับคนอื่นๆ ในโปรเจกต์ มีเคล็ดลับดังนี้:
- ใช้รูปแบบคำสั่ง (imperative) — เขียน "Add login form" ไม่ใช่ "Added login form" หรือ "Adding login form"
- อธิบายว่าอะไรเปลี่ยนและทำไม — "Fix null check in user.ts" มีประโยชน์กว่า "fix bug"
- ให้บรรทัดแรกสั้นกว่า 72 ตัวอักษร — เครื่องมือ git ส่วนใหญ่จะตัดข้อความที่ยาวกว่านั้นในมุมมองรายการ
- เพิ่ม body หากจำเป็น — กด Enter สองครั้งหลังบรรทัดแรกเพื่อเพิ่มคำอธิบายที่ยาวขึ้นด้านล่าง
ตัวอย่างข้อความ commit ที่ชัดเจน:
Add email validation to signup formFix crash when user list is emptyUpdate API base URL for production
ให้ agent เขียนข้อความให้
ปุ่ม sparkle ในช่องสรุป commit จะส่ง diff ของคุณไปยัง AI CLI ที่ติดตั้งไว้ และขอให้เขียนข้อความ commit
- กำหนด agent ตัวใดเป็นคนเขียน หรือให้ 1DevTool ใช้ตัวแรกที่คุณติดตั้งไว้
- เลือกสไตล์: Conventional, Plain หรือ Gitmoji
- หากยังไม่มีไฟล์ใดถูก stage ระบบจะ fallback ไปใช้ working-tree diff — ดังนั้นคุณสามารถได้รับข้อความก่อนตัดสินใจว่าจะ stage อะไร
ผลลัพธ์จะปรากฏในช่องข้อความเป็นข้อความธรรมดาที่แก้ไขได้ มันเป็นร่าง ไม่ใช่การ commit จริง
Commit
คลิกปุ่ม Commit ใต้ช่องข้อความ การเปลี่ยนแปลงที่ถูก stage จะถูกบันทึกลงใน local git history เป็น commit ใหม่ และส่วน staged files จะถูกล้าง
commit จะปรากฏในประวัติของ branch ของคุณ หากต้องการเลิกทำ ให้คลิกขวาที่ commit ในมุมมองประวัติแล้วเลือก Undo Commit — การเปลี่ยนแปลงเหล่านั้นจะกลับไปอยู่ใน unstaged files โดยไม่สูญหาย
Push to Remote
การ commit จะบันทึกการเปลี่ยนแปลงในเครื่อง หากต้องการส่งไปยัง GitHub, GitLab หรือ remote อื่นๆ:
- คลิกปุ่ม Push ใน toolbar ของ Git panel (ไอคอนลูกศรขึ้น)
- หาก branch มีอยู่บน remote แล้ว commit ของคุณจะถูก push ทันที
- หากเป็น new branch ที่ยังไม่มีบน remote ให้คลิก Publish Branch — การทำเช่นนี้จะสร้าง branch บน remote และ push commit ของคุณ
หากมีการขอ credentials คุณสามารถป้อนข้อมูลหรือเปลี่ยนเป็นการใช้ SSH key authentication ดู บัญชี Git เพื่อเรียนรู้วิธีเชื่อมต่อบัญชี GitHub ของคุณเพื่อให้ระบบจัดการ credentials โดยอัตโนมัติ

Pull Changes
หากต้องการดึงการเปลี่ยนแปลงจาก remote (ตัวอย่างเช่น เมื่อเพื่อนร่วมทีม push อะไรบางอย่าง):
- คลิกปุ่ม Pull (ไอคอนลูกศรลง) ใน toolbar
- การเปลี่ยนแปลงจาก remote จะถูก fetch และ merge เข้าไปใน local branch ของคุณ
หากมี merge conflicts Git panel จะไฮไลต์ไฟล์ที่ขัดแย้ง เปิดแต่ละไฟล์เพื่อแก้ไข conflict จากนั้น stage และ commit การแก้ไข

หลังจาก push การเปลี่ยนแปลงของคุณจะอยู่บน remote และพร้อมใช้งานสำหรับทีมของคุณ หรือพร้อมสำหรับ pull request Git panel จะแสดงว่า branch ของคุณตรงกับ remote แล้ว