Git Graph Cheatsheet

รวมสูตรโกงสำหรับการใช้งาน Git Graph

❤️ ศัพท์และความหมาย (1)

ศัพท์ความหมาย
Gitโปรแกรมควบคุมการพัฒนาโปรแกรม
GUIGraphic User Interface โปรแกรมแบบมีหน้าตา และดำเนินการได้ง่ายกว่า
CLICommand-line Interface โปรแกรมแบบใช้คำสั่ง ดำเนินการยากกว่า
Repositoryแหล่งเก็บโปรเจคการพัฒนาที่ใช้ Git
GitHubผู้ให้บริการ Repository แบบออนไลน์
GitLabผู้ให้บริการ Repository แบบออนไลน์
BitBucketผู้ให้บริการ Repository แบบออนไลน์
Localการใช้ Repository แบบออฟไลน์
Initilizeเริ่มต้นโปรเจคการพัฒนากับ Git
Changesโค้ดที่มีการเปลี่ยนแปลง
Unstagedโค้ดที่มีการเปลี่ยนแปลง และยังไม่ได้รับการยืนยันเตรียม Commit
Stagedโค้ดที่มีการเปลี่ยนแปลง และได้รับการยืนยันพร้อม Commit
Commitบันทึกกิจกรรมเปลี่ยนแปลงบน Repository จากเนื้อหาที่ได้รับการ Staged
Hashการเข้ารหัสพิเศษ เพื่อยืนยันตำแหน่งของ Commit เป็นเสมือน ID สำหรับระบุตัวตน
Pushอัปโหลด Commit ทั้งหมดไปยังผู้ให้บริการ Repository
Pullนำ Commit จากผู้ให้บริการ Repository มายัง Local
Fetchเรียกดูการเปลี่ยนแปลง Commit จากผู้ให้บริการ Repository มายัง Local
Cloneดาวน์โหลด Repository ที่ต้องการ
Tagแท็กเวอร์ชั่นโปรแกรมบน Repositry

❤️ ศัพท์และความหมาย (2)

ศัพท์ความหมาย
Branchสาขาการพัฒนาโปรแกรมบน Repository สำหรับการแบ่งงาน
Branch mainสาขาหลักของการพัฒนาที่เสถียรภาพ
Branch masterสาขาหลักของการพัฒนาที่เสถียรภาพ (ถูกประกาศเลิกใช้ในปัจจุบัน)
Branch developสาขารองของการพัฒนา เป็นรอยต่อของสาขาย่อยอื่นๆ ก่อนเข้าที่สาขาหลัก
Branch feature/*สาขาย่อยของการพัฒนา สำหรับคุณสมบัติใหม่
Branch hotfix/*สาขาย่อยของการพัฒนา สำหรับการเร่งรีบแก้ไขโปรแกรม
Branch release/*สาขาย่อยของการพัฒนา สำหรับการเตรียมเปิดใช้งานโปรแกรม
Checkoutการเลือก Commit หรือ Branch หรือ Tag สำหรับเรียกดูโปรแกรมช่วงเวลานั้นๆ หรือใช้ก่อนดำเนินการ Merge และอื่นๆ
Mergeรวมเนื้อหาการเปลี่ยนแปลง Commit ใน Branch รวมเข้าด้วยกันกับ Branch อื่น
Forkการคัดลอกเนื้อหา Repository ผู้อื่นบนผู้ให้บริการต่างๆ มาเป็นของเราเองพร้อมกับอ้างอิงต้นฉบับ
Pull Requestการขอเนื้อหาเปลี่ยนแปลงบน Fork ทำการอัปเดตเนื้อหาบน Repository หลัก
Merge Requestการขอเนื้อหาเปลี่ยนแปลงบน Fork ทำการอัปเดตเนื้อหาบน Repository หลัก
Conflictปัญหาจากการ Merge เนื้อหา แล้วพบการกระทบระหว่าง Commit ที่แก้ไขบรรทัดเดียวกัน
Reset Hardการยกเลิกเปลี่ยนแปลงล่าสุด แบบไม่เก็บการเปลี่ยนแปลง
Reset Mixedการยกเลิกเปลี่ยนแปลงล่าสุด แบบเก็บการเปลี่ยนแปลงไว้บน Unstaged
Reset Softการยกเลิกเปลี่ยนแปลงล่าสุด แบบเก็บการเปลี่ยนแปลงไว้บน Staged
Revertการยกเลิกการเปลี่ยนแปลง Commit ที่เลือกทั้งหมด
Rebaseการปรับรากฐานสำหรับ Branch ที่ตามหลังเนื้อหามากเกินไป คล้าย Merge แต่ทำเพื่อปรับเส้นโครงสร้างเท่านั้น
Cherry Pickเลือก Commit ที่ต้องการ เพื่อคัดลอกการเปลี่ยนแปลงมาใช้งานกับสถานที่ได้ Checkout ไว้
Stashการเก็บพักการเปลี่ยนแปลงชั่วคราว ใช้เพื่อต้องการ Checkout ขณะที่มีการ Changes เกิดขึ้น
Apply Stashเรียกคืนการเปลี่ยนแปลงชั่วคราว
Pop Stashเรียกคืนการเปลี่ยนแปลงชั่วคราว พร้อมกับลบข้อมูลการพัก
Drop Stashลบข้อมูลการพักการเปลี่ยนแปลง
Issuesการแจ้งและติดตามปัญหาของโปรแกรม
Automateระบบจัดการอัตโนมัติ ตามค่าที่ได้กำหนดไว้ โดยแต่ล่ะผู้ให้บริการ Git Repository จะมีไม่เหมือนกัน
Actionsระบบ Automate ของ GitHub

👨‍💻 ตั้งค่าชื่อและที่อยู่อีเมลเพื่อเริ่มต้น

ใช้คำสั่งผ่าน cmd เพื่อตั้งชื่อและอีเมล หรือใช้ผ่าน Setup name & email บน Git Graph

git config --global user.name "John Doe"
git config --global user.email "john12@example.com"

💾 บันทึกการเปลี่ยนแปลงพื้นฐาน

flow-common

🌐 บันทึกการเปลี่ยนแปลงไปยัง GitHub

flow-github

🔀 การแบ่ง Branch และการรวม Branch

flow-branch

➕ Initialize

git-init

🧰 Git Graph

git-graph-button

⚙️ Git Graph settings

git-graph-settings

👨‍💻 Setup name & email

git-graph-set-user

✅ Stage

git-stage

💾 Commit

git-commit

☑️ Checkout

git-checkout

⏭ Rebase

git-rebase

⤵️ Merge

git-merge

📥 Stash

git-stash

📤 Pop Stash

git-pop