0Pricing
Frontend Academy · บทเรียน

คลังเก็บระยะไกล: push, pull และ clone

เชื่อมต่อคลังเก็บในเครื่องกับ GitHub ส่งคอมมิตไปยังคลังเก็บระยะไกล ดึงการเปลี่ยนแปลงจากเพื่อนร่วมทีม และโคลนคลังเก็บที่มีอยู่

คลังเก็บระยะไกล: push, pull และ clone เป็นบทเรียน Frontend Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Frontend Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Frontend Academy มีบทเรียนทั้งหมด 4 บทเรียน

รีโมตคืออะไร

รีโมตคือสำเนาของที่เก็บโค้ดที่โฮสต์อยู่บนอินเทอร์เน็ต (GitHub, GitLab, บิตบักเก็ต) คุณทำงานร่วมกับเพื่อนร่วมทีมโดยส่งคอมมิตของคุณไปยังรีโมต และดึงคอมมิตของพวกเขาจากรีโมต

git clone — คัดลอกที่เก็บโค้ดรีโมต

git clone url สร้างสำเนาในเครื่องของที่เก็บโค้ดรีโมต รวมทั้งประวัติและสาขาทั้งหมด รีโมตจะถูกเพิ่มโดยอัตโนมัติในชื่อ origin

git clone https://github.com/user/repo.git
git clone git@github.com:user/repo.git  # SSH

git remote — จัดการรีโมต

git remote -v แสดงรายการรีโมตที่กำหนดค่าไว้ git remote add name url เพิ่มรีโมต ตามธรรมเนียม รีโมตหลักจะมีชื่อว่า origin

git remote -v
# origin  git@github.com:user/repo.git (fetch)
# origin  git@github.com:user/repo.git (push)

git remote add origin https://github.com/user/repo.git

git push — ส่งคอมมิตไปยังรีโมต

git push origin branchname อัปโหลดคอมมิตในเครื่องไปยังสาขารีโมต การส่งครั้งแรกของสาขาใหม่ต้องตั้งค่าการติดตามต้นทางด้วย -u

git push origin main
git push -u origin feature/auth  # set upstream and push
git push                          # push to tracked remote (after -u)

git pull — รับคอมมิตจากรีโมต

git pull ดึงการเปลี่ยนแปลงจากสาขารีโมตที่ติดตามอยู่ แล้วผสานเข้ากับสาขาปัจจุบันของคุณ ซึ่งเทียบเท่ากับ git fetch + git merge

git pull            # fetch and merge from tracked upstream
git pull origin main # explicit remote and branch

git fetch — ดาวน์โหลดโดยไม่ผสาน

git fetch ดาวน์โหลดการเปลี่ยนแปลงทั้งหมดจากรีโมตโดยไม่แก้ไขพื้นที่ทำงานของคุณ ใช้เพื่อดูว่าเพื่อนร่วมทีมคอมมิตอะไรไว้ ก่อนตัดสินใจว่าจะนำการเปลี่ยนแปลงมารวมอย่างไร

git fetch origin
git log origin/main --oneline  # inspect remote commits
git merge origin/main           # integrate when ready

การตั้งค่าคีย์ SSH

GitHub ต้องมีการยืนยันตัวตน HTTPS ใช้ชื่อผู้ใช้และโทเค็น ส่วนคีย์ SSH ใช้งานสะดวกกว่า โดยสร้างคู่คีย์ เพิ่มคีย์สาธารณะไปยัง GitHub แล้วระบบจะยืนยันตัวตนโดยอัตโนมัติ

ssh-keygen -t ed25519 -C "your@email.com"
# Public key:
cat ~/.ssh/id_ed25519.pub
# Copy this into GitHub Settings → SSH Keys

upstream กับ origin

origin คือที่เก็บโค้ดแยกของคุณ upstream คือที่เก็บโค้ดต้นฉบับ เมื่อต้องการมีส่วนร่วมในโครงการโอเพนซอร์ส ให้แยกที่เก็บโค้ด → โคลน → เพิ่มรีโมต upstream → ดึงข้อมูลจาก upstream เพื่อให้ข้อมูลเป็นปัจจุบัน

git remote add upstream https://github.com/original/repo.git
git fetch upstream
git merge upstream/main

การส่งแบบบังคับ — ใช้อย่างระมัดระวังเป็นอย่างยิ่ง

git push --force เขียนทับประวัติของสาขารีโมต ห้ามส่งแบบบังคับไปยังสาขาหลักหรือสาขาที่ใช้ร่วมกัน เพราะจะเขียนประวัติใหม่ให้ทุกคน สาขาฟีเจอร์ส่วนตัวที่จัดประวัติใหม่แล้วก่อนตรวจสอบ PR สามารถใช้ได้อย่างปลอดภัย

git pull --rebase

git pull --rebase นำคอมมิตในเครื่องของคุณไปวางต่อจากคอมมิตที่ดึงมา แทนการสร้างคอมมิตการผสาน ทำให้ได้ประวัติที่สะอาดและเป็นเส้นตรง หลายทีมตั้งค่านี้เป็นกลยุทธ์เริ่มต้นสำหรับการดึงข้อมูล

git pull --rebase origin main

# Set as default:
git config --global pull.rebase true

.git/config

การกำหนดค่า git ในเครื่องสำหรับที่เก็บโค้ดจะอยู่ใน .git/config โดยเก็บที่อยู่รีโมตและสาขาที่ติดตามไว้ ส่วน ~/.gitconfig จะเก็บการตั้งค่าทั่วไป เช่น ชื่อและอีเมลของคุณ

# ~/.gitconfig
[user]
  name = Alice Developer
  email = alice@example.com
[core]
  editor = code --wait

ตรวจสอบอย่างรวดเร็ว

git push -u origin feature/auth ทำอะไร

สรุป: ที่เก็บโค้ดรีโมต

git clone คัดลอกที่เก็บโค้ดรีโมตมาไว้ในเครื่อง git remote จัดการที่อยู่รีโมต git push ส่งคอมมิต git pull ดึงข้อมูลและผสาน git fetch ดาวน์โหลดโดยไม่ผสาน ใช้ SSH เพื่อการยืนยันตัวตนที่ปลอดภัย origin คือรีโมตของคุณ ส่วน upstream คือต้นฉบับในโครงการโอเพนซอร์ส ใช้การส่งแบบบังคับเฉพาะกับสาขาส่วนตัวที่ยังไม่มีผู้ตรวจสอบ

คำถามที่พบบ่อย

บทเรียน “คลังเก็บระยะไกล: push, pull และ clone” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คลังเก็บระยะไกล: push, pull และ clone” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Frontend Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Frontend Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คลังเก็บระยะไกล: push, pull และ clone”

เชื่อมต่อคลังเก็บในเครื่องกับ GitHub ส่งคอมมิตไปยังคลังเก็บระยะไกล ดึงการเปลี่ยนแปลงจากเพื่อนร่วมทีม และโคลนคลังเก็บที่มีอยู่ คุณปฏิบัติ Frontend Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Frontend Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Frontend Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “คลังเก็บระยะไกล: push, pull และ clone” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Frontend Academy นี้ได้ไหม

ได้ บทเรียน Frontend Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. git init, add, commit และ status
  2. การแตกแขนง: branch, checkout และ merge
  3. คลังเก็บระยะไกล: push, pull และ clone
  4. เวิร์กโฟลว์ Pull Request บน GitHub
← กลับไปที่ Frontend Academy