Dark mode
clone (คัดลอก repository)
การ clone คือการคัดลอก repository จาก remote มายัง local เครื่องของเรา
bash
# คำสั่งพื้นฐาน
git clone https://github.com/user/repo.git
# clone พร้อมกำหนดชื่อโฟลเดอร์
git clone https://github.com/user/repo.git my-folder-name
remote (เชื่อมต่อกับ repository ที่อยู่บน server อื่น)
remote คือการเชื่อมต่อกับ repository ที่อยู่บน server อื่น
bash
# ดูรายการ remote ทั้งหมด
git remote -v
# เพิ่ม remote
git remote add origin https://github.com/user/repo.git
# เปลี่ยน URL ของ remote
git remote set-url origin https://github.com/user/new-repo.git
ความสัมพันธ์ local-remote
push (ส่งการเปลี่ยนแปลงจาก local ไปยัง remote repository)
การ push คือการส่งการเปลี่ยนแปลงจาก local ไปยัง remote repository
bash
# push ไปยัง remote branch
git push origin main
# push และตั้งค่า upstream
git push -u origin main
# push tag
git push --tags
pull (ดึงการเปลี่ยนแปลงจาก remote มายัง local และทำการ merge โดยอัตโนมัติ)
การ pull คือการดึงการเปลี่ยนแปลงจาก remote มายัง local และทำการ merge โดยอัตโนมัติ
bash
# pull จาก remote
git pull origin main
# pull โดยใช้ rebase แทน merge
git pull --rebase origin main
fetch (ดึงข้อมูลจาก remote มาที่ local แต่ยังไม่ทำการ merge)
การ fetch คือการดึงข้อมูลจาก remote มาที่ local แต่ยังไม่ทำการ merge
bash
# fetch ข้อมูลทั้งหมดจาก remote
git fetch origin
# fetch เฉพาะ branch ที่ต้องการ
git fetch origin main
# fetch และดูความแตกต่าง
git fetch && git diff origin/main