ยินดีต้อนรับสู่เว็บไซต์ "นครโค้ด" รูปแบบใหม่ของเรา หากต้องการเข้าเว็บไซต์เก่าสามารถดูได้ที่ https://archive.nakorncode.com/

  1. สูตรโกงเขียนโค้ด
  2. Git

คำศัพท์

ศัพท์ความหมาย
Initialize (Init)เริ่มต้น Repository ใหม่
Repository (Repo)ที่เก็บข้อมูลโปรเจกต์ Git
Local RepositoryRepository ที่อยู่บนเครื่องของเรา
Remote RepositoryRepository ที่อยู่บนเซิร์ฟเวอร์
Working Directoryโฟลเดอร์ที่ทำงานกับ Git
Changeการเปลี่ยนแปลงของไฟล์
Stage Changeเตรียมไฟล์เข้าสู่การ Commit
Unstage Changeยกเลิกการ Stage
Discard Changeยกเลิกการเปลี่ยนแปลงไฟล์
Commitบันทึกการเปลี่ยนแปลงของ Stage
Commit Messageข้อความอธิบายการ Commit
Commit Amendแก้ไข Commit ล่าสุด
Headตำแหน่งของ Commit ล่าสุด
Blameตรวจสอบว่าใครแก้ไขบรรทัดนั้นๆ
Branchสาขาในโปรเจกต์สำหรับการพัฒนา
Checkoutสลับไปยังจุดต่างๆของ Commit
Tagทำเครื่องหมายเวอร์ชั่นใน Commit
Stashเก็บโค้ดชั่วคราวเพื่อใช้ในภายหลัง
Mergeรวมโค้ดจากสอง Branch เข้าด้วยกัน
Conflictความขัดแย้งในการ Merge
Resolveแก้ไขความขัดแย้งในการ Merge
Cloneคัดลอก Remote Repo ไปยัง Local Repo
Forkคัดลอก Remote Repo ไปยัง Remote Repo
Fetchดึงข้อมูลล่าสุดจาก Remote
Pullดึงข้อมูลจาก Remote และใช้การเปลี่ยนแปลง
Pushส่ง Commit จาก Local ไปยัง Remote
Push (Force)Push โดยละเลยคำเตือน
Pull Requestคำร้องขอรวมโค้ดจากผู้อื่น
Publish BranchPush Branch ไปยัง Remote
Originชื่อ Remote Repository ที่สำคัญ
Rebaseปรับฐานไปยัง Branch ที่เลือก
Revertยกเลิกการเปลี่ยนแปลง Commit ที่เลือก
Cherry Pickเลือกการเปลี่ยนแปลงจาก Commit เดียว
SubmoduleRepository ปลึกย่อยในโปรเจกต์
Git Ignore (.gitignore)ไฟล์กำหนดให้ Git ไม่ติดตามไฟล์

Config

คำสั่งความหมาย
git config --list
รายชื่อการตั้งค่าที่มี (กด q เพื่อออก)
git config --unset <setting>
ยกเลิกการตั้งค่าที่เลือก
git config --global user.name <name>
ตั้งชื่อผู้ Commit แบบ Global
git config --global user.email <email>
ตั้งอีเมลผู้ Commit แบบ Global
git config --global alias.<shortcut> <command>
ตั้งคำสั่งลัดให้กับ shortcut
git config --global color.ui true
เปิดใช้งานสีบน CLI
git config --global init.defaultBranch <name>
ตั้งชื่อ Branch เริ่มต้น

Basic

คำสั่งความหมาย
git [command] --help
เรียกดู Help ตามคำสั่ง
git init
เริ่มต้น Repository
git clone <url>
Clone Repository ตาม URL
git config user.name <name>
ตั้งชื่อผู้ Commit เฉพาะ Repo นี้
git config user.email <email>
ตั้งอีเมลผู้ Commit เฉพาะ Repo นี้

Changes

คำสั่งความหมาย
git add <file>
เลือก Stage เฉพาะไฟล์
git add .
Stage ทั้งหมด
git commit -m <message>
Commit Staged Changes พร้อมข้อความ
git commit --amend
แก้ไขข้อความ Commit ล่าสุด
git reset <file>
Unstage ไฟล์
git reset --soft <commit>
Soft Reset ไปยัง Commit
git reset --hard <commit>
Hard Reset ไปยัง Commit
git stash
Stash การเปลี่ยนแปลงทั้งหมด
git stash apply
นำ Stash ล่าสุดไปใช้
git stash pop
นำ Stash ล่าสุดไปใช้ และลบ
git stash drop
ลบ Stash ล่าสุด
git tag
แสดงรายการ Tag ทั้งหมด
git tag <name>
สร้าง Tag ใหม่
git tag -d <name>
ลบ Tag ที่กำหนด

Remote

คำสั่งความหมาย
git remote
ตรวจสอบรายการ Remote
git remote -v
ตรวจสอบรายการ Remote แบบละเอียด
git remote add <name> <url>
เพิ่ม Remote ตาม URL ที่กำหนด
git remote rename <old> <new>
เปลี่ยนชื่อ Remote
git remote get-url <name> <url>
เรียกดู URL ของ Remote
git remote set-url <name> <url>
แก้ไข URL ของ Remote
git remote remove <name>
ลบ Remote ที่เลือก
git push
Push Commit ที่อยู่บน Local ไปยัง Remote
git push --all
Push Commit Branch ทั้งหมดที่อยู่บน Local ไปยัง Remote
git push -f
Push แบบ Force
git push <remote> <branch>
Publish Branch ใหม่บน Remote
git push -d <remote> <branch>
ลบ Branch ที่กำหนดบน Remote
git push <remote> --tags
Publish Tag ใหม่ทั้งหมดไปยัง Remote
git push <remote> <tag>
Publish Tag ใหม่ที่เลือกไปยัง Remote
git push -d <remote> <tag>
ลบ Tag ที่กำหนดบน Remote
git fetch
เรียกดูการเปลี่ยนแปลงบน Remote แต่ไม่นำไปใช้งาน
git pull
เรียกดูการเปลี่ยนแปลงบน Remote และนำไปใช้งาน
git pull <remote> <branch>
Pull ข้อมูลจาก Remote และ Branch ที่เลือก
git pull --rebase
Pull แบบ Rebase เพื่อไม่ให้มี Commit ใหม่

Branch

คำสั่งความหมาย
git branch
ตรวจสอบรายการ Branch
git branch <name>
สร้าง Branch ใหม่
git branch -d <name>
ลบ Branch ตามชื่อ
git merge <branch>
Merge โดยนำ Branch ที่กำหมดมายัง Branch ปัจจุบัน
git merge --continue
ดำเนินการ Merge ต่อหลัง Resolve Conflict และ git add เสร็จสิ้น
git merge --abort
ยกเลิกการ Merge กรณี Conflict
git rebase <branch>
Rebase โดยนำการเปลี่ยนแปลงจาก Branch ที่กำหนด
git rebase --continue
ดำเนินการ Rebase ต่อหลัง Resolve Conflict และ git add เสร็จสิ้น
git rebase --abort
ยกเลิกการ Rebase กรณี Conflict
git cherry-pick <commit>
Cherry pick จาก Commit ที่เลือก

Inspect

คำสั่งความหมาย
git checkout <branch>
Checkout ไปยัง Branch
git checkout -b <branch>
Checkout พร้อมสร้าง Branch ใหม่
git checkout --orphan <branch>
Checkout พร้อมสร้าง Branch ใหม่แบบไม่เกี่ยวข้องกับประวัติเดิม
git checkout <commit>
Checkout ไปยัง Commit
git status
แสดงสถานะทั่วไปของ Repo
git blame <file>
ตรวจสอบผู้เปลี่ยนแปลงไฟล์
git log
แสดงรายการ Commit ทั้งหมด (กด q เพื่อออก)
git log [branch]
แสดงรายการ Commit ตาม Branch
git log --all --decorate --oneline --graph
แสดง Log แบบกราฟฟิค (A Dog)
git config --global alias.adog "log --all --decorate --oneline --graph"
สร้างทางลัด git adog เพื่อเรียกใช้ข้างต้น
git show
เรียกดูข้อมูลบน Commit ล่าสุด
git show <commit>
เรียกดูข้อมูลบน Commit ที่เหลือ
git show <tag>
เรียกดูข้อมูลบน Tag ที่เหลือ
git diff
แสดงข้อแตกต่างไฟล์กับ Unstaged changes
git diff --staged
แสดงข้อแตกต่างไฟล์กับ Staged changes
git diff <commit> <commit>
แสดงข้อแตกต่างระหว่าง Commit ที่กำหนด
git diff HEAD
แสดงข้อแตกต่างระหว่าง Commit ล่าสุด