การเชื่อมต่อ Ubuntu กับ GitHub: คู่มือใช้งาน Git และการตั้งค่าเบื้องต้นสำหรับนักพัฒนา

目次

1. แนะนำเบื้องต้น

ทำไมต้องเชื่อมต่อ Ubuntu กับ GitHub?

ในปัจจุบัน การใช้งาน Git และ GitHub กลายเป็นเรื่องปกติในวงการพัฒนาซอฟต์แวร์และการดูแลระบบ โดยเฉพาะสำหรับวิศวกรและโปรแกรมเมอร์ที่ใช้ Linux อย่าง Ubuntu การทำงานร่วมกับ GitHub จึงเป็นส่วนหนึ่งของงานประจำวันไปแล้ว

Git คือเครื่องมือสำหรับจัดการเวอร์ชันของซอร์สโค้ดและขาดไม่ได้สำหรับการพัฒนาร่วมกันแบบทีม ส่วน GitHub เป็น บริการโฮสติ้ง ที่ช่วยให้แชร์และเผยแพร่ repository ที่จัดการด้วย Git บนอินเทอร์เน็ต และยังเป็นศูนย์กลางในการแลกเปลี่ยนโค้ดกับนักพัฒนาทั่วโลกอีกด้วย

ทำไมถึงควรใช้ GitHub บน Ubuntu?

Ubuntu เป็นดิสโทร Linux ที่ได้รับความนิยมสูงมากในกลุ่มนักพัฒนา และขึ้นชื่อว่าเหมาะกับงานโอเพ่นซอร์ส สามารถติดตั้ง Git และเครื่องมือพัฒนาอื่นๆ ได้ง่าย และยังเชื่อมต่อกับ GitHub ได้สะดวกรวดเร็ว

ตัวอย่างการใช้งานที่เหมาะสม เช่น:

  • จัดการและแชร์โค้ด Python หรือ C++ บน GitHub
  • ร่วมพัฒนาในโปรเจ็กต์โอเพ่นซอร์ส (contribute)
  • เผยแพร่ผลงานของตัวเองเป็น portfolio

สิ่งที่คุณจะทำได้จากบทความนี้

คู่มือนี้จะอธิบายตั้งแต่ พื้นฐานจนถึงขั้นสูงสำหรับการใช้งาน GitHub บน Ubuntu ทีละขั้นตอน

  • วิธีติดตั้ง Git บน Ubuntu
  • ตั้งค่า Git เบื้องต้นและเชื่อมต่อ SSH
  • สร้างและจัดการ repository บน GitHub
  • เพิ่มประสิทธิภาพการพัฒนาด้วย Visual Studio Code
  • แนวทางแก้ไขปัญหาหรือ FAQ ที่พบบ่อย

แม้จะเป็นมือใหม่ ก็สามารถทำตามตัวอย่างคำสั่งจริงและข้อควรระวังต่างๆ ได้อย่างมั่นใจ สำหรับผู้ใช้ Ubuntu ที่อยากใช้ประโยชน์จาก GitHub ให้เต็มที่ ขอให้ติดตามจนจบ!

年収訴求

2. การติดตั้ง Git บน Ubuntu

Git คืออะไร? มาทำความเข้าใจใหม่อีกครั้ง

Git เป็น ระบบจัดการเวอร์ชัน (VCS: Version Control System) สำหรับพัฒนาซอฟต์แวร์ ช่วยเก็บประวัติการเปลี่ยนแปลงซอร์สโค้ด ย้อนกลับไปยังสถานะก่อนหน้า และทำงานร่วมกับทีมได้อย่างมีประสิทธิภาพ

บน Linux เช่น Ubuntu ข้อดีคือ ติดตั้ง Git ได้ง่ายมาก วิธีต่อไปนี้สามารถติดตั้งผ่าน terminal ได้ภายในไม่กี่นาที

ขั้นตอนการติดตั้ง Git (ผ่าน APT)

ปกติแล้วจะติดตั้ง Git บน Ubuntu ด้วย APT (Advanced Package Tool) ให้ทำตามขั้นตอนดังนี้

1. อัปเดตรายการแพ็กเกจให้ใหม่ล่าสุด

sudo apt update

คำสั่งนี้จะรีเฟรชข้อมูลแพ็กเกจในระบบ ควรทำก่อนติดตั้งทุกครั้ง

2. ติดตั้ง Git

sudo apt install git

เมื่อมีข้อความให้เลือก “Y/n” ให้พิมพ์ “y” แล้วกด Enter การติดตั้ง Git จะเริ่มขึ้น

ตรวจสอบการติดตั้ง Git

เมื่อติดตั้งเสร็จแล้ว ให้ตรวจสอบด้วยคำสั่งนี้

git --version

ถ้าขึ้นแสดงเวอร์ชัน เช่น:

git version 2.34.1

หมายความว่าติดตั้งสำเร็จแล้ว (หมายเลขเวอร์ชันอาจต่างกันตามแพ็กเกจ)

การติดตั้งผ่าน Snap (เพิ่มเติม)

Ubuntu สามารถใช้ snap เพื่อติดตั้ง Git ได้ แต่ APT ยังเป็นวิธีที่นิยมและเสถียรที่สุด ถ้าไม่มีเหตุผลพิเศษ แนะนำให้ใช้ APT

3. การตั้งค่า Git เบื้องต้น

ตั้งค่าอะไรก่อนใช้ Git บ้าง?

หลังติดตั้ง Git สิ่งแรกที่ควรทำคือ ตั้งค่าข้อมูลผู้ใช้และวิธีการยืนยันตัวตน เพื่อให้ทำงานกับ remote repository และทีมงานได้ราบรื่น

ตั้งชื่อผู้ใช้และอีเมลสำหรับ Git

ทุกครั้งที่ commit (บันทึกการเปลี่ยนแปลง) Git จะบันทึกว่า “ใครเป็นคนทำ” ต้องตั้งชื่อและอีเมลก่อนใช้งานจริง

คำสั่งตั้งค่า

git config --global user.name "ชื่อของคุณ"
git config --global user.email "you@example.com"

ชื่อและอีเมลนี้ไม่จำเป็นต้องตรงกับ GitHub แต่ ถ้าใช้เหมือนกันจะตรวจสอบประวัติง่ายขึ้น

ตรวจสอบค่าที่ตั้งไว้

git config --list

ดูค่าที่ตั้งไว้ทั้งหมดได้ด้วยคำสั่งนี้

สร้าง SSH Key และเชื่อมต่อ GitHub

แม้จะใช้ HTTPS ได้ แต่ แนะนำให้ตั้งค่า SSH เพื่อไม่ต้องใส่รหัสผ่านทุกครั้ง และยังปลอดภัยกว่า

1. สร้าง SSH Key

ssh-keygen -t ed25519 -C "you@example.com"

กด Enter ตามที่แสดง จะได้ private key (~/.ssh/id_ed25519) และ public key (~/.ssh/id_ed25519.pub)

2. เริ่ม ssh-agent และเพิ่มคีย์

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

ขั้นตอนนี้จะเตรียมคีย์ไว้ใช้งาน

3. เพิ่ม public key ลงใน GitHub

คัดลอก public key ด้วยคำสั่งนี้:

cat ~/.ssh/id_ed25519.pub

แล้วนำไปเพิ่มที่ GitHub ตามขั้นตอน:

  1. เข้าสู่ระบบ GitHub
  2. คลิก “Settings” (ที่รูปโปรไฟล์)
  3. เลือก “SSH and GPG keys” จากเมนูซ้าย
  4. คลิก “New SSH key” แล้ววาง public key ที่คัดลอกมา จากนั้นบันทึก

4. ทดสอบการเชื่อมต่อ SSH

ตรวจสอบด้วยคำสั่งนี้:

ssh -T git@github.com

ครั้งแรกจะมีคำถามว่าต้องการเชื่อมต่อหรือไม่ ให้พิมพ์ “yes” ถ้าสำเร็จจะแสดงข้อความ:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

ขั้นตอนแนะนำหลังตั้งค่าครบ

เมื่อตั้งค่าครบแล้ว จะ clone, push, pull repository บน GitHub ได้อย่างอิสระ ในส่วนถัดไปจะอธิบายวิธีสร้างและจัดการ repository อย่างละเอียด

4. การจัดการรีโพซิทอรีของ GitHub

สร้างรีโพซิทอรีใหม่บน GitHub

หลังจากเข้าสู่ระบบ GitHub แล้ว ให้เริ่มต้นด้วยการสร้างรีโพซิทอรีใหม่

ขั้นตอนการสร้าง (ผ่านเว็บเบราว์เซอร์)

  1. คลิกปุ่ม “+” ที่มุมขวาบนของหน้าแรก GitHub แล้วเลือก “New repository”
  2. กรอกข้อมูลต่อไปนี้:
  • Repository name (ชื่อรีโพซิทอรี): เช่น my-first-repo
  • Description (ไม่บังคับ): คำอธิบายสั้นๆ
  • Public / Private: เลือกว่าจะเปิดเผยหรือส่วนตัว
  1. คลิก “Create repository”

เมื่อสร้างเสร็จแล้ว URL ของรีโพซิทอรีจะแสดง สามารถใช้สำหรับคำสั่ง clone ฯลฯ

โคลนรีโพซิทอรี GitHub ที่มีอยู่

หากต้องการคัดลอกรีโพซิทอรีมายังเครื่อง (Ubuntu) ให้ใช้คำสั่ง git clone

git clone git@github.com:your-username/my-first-repo.git

※ตัวอย่างนี้ใช้การเชื่อมต่อแบบ SSH หากเป็น HTTPS URL จะต่างออกไป

เมื่อรันคำสั่งนี้จะได้โฟลเดอร์ my-first-repo ภายใน directory ปัจจุบัน โดยมีไฟล์ทั้งหมดจากรีโพซิทอรีอยู่ภายใน

ขั้นตอนการเปลี่ยนไฟล์ – Staging – Commit

1. สร้างหรือแก้ไขไฟล์

ตัวอย่าง สร้างไฟล์ใหม่:

echo "# เริ่มต้นกับ GitHub" > README.md

2. ทำ Staging สำหรับไฟล์ที่แก้ไข

git add README.md

การ staging คือการเลือกว่าไฟล์ไหนจะรวมในการ commit ถัดไป

3. Commit การเปลี่ยนแปลง

git commit -m "คอมมิทครั้งแรก: เพิ่ม README.md"

การ commit จะบันทึกการเปลี่ยนแปลงในประวัติแบบ local

อัปโหลด (Push) การเปลี่ยนแปลงไปยัง GitHub

หากต้องการส่งการเปลี่ยนแปลงไปยัง GitHub ใช้คำสั่ง git push

git push origin main

※ถ้าชื่อ branch เริ่มต้นไม่ใช่ main (เช่น master) ให้เปลี่ยนตามจริง

ดึง (Pull) การเปลี่ยนแปลงจากรีโมต

หากมีนักพัฒนาคนอื่นเปลี่ยนแปลงไฟล์ในรีโมต ให้ใช้คำสั่งนี้เพื่อดึงข้อมูลมาอัปเดต

git pull origin main

การ pull จะนำการเปลี่ยนแปลงจาก remote มารวมกับ branch ของคุณ

ฟังก์ชันเสริมที่ใช้บ่อย

  • ตรวจสอบ remote repository ที่ผูกไว้:
git remote -v
  • เพิ่ม remote repository ใหม่ภายหลัง:
git remote add origin git@github.com:your-username/another-repo.git
  • แก้ไข README.md หรือ .gitignore สามารถจัดการแบบเดียวกันได้

5. การใช้งานร่วมกับ Visual Studio Code

VS Code คือ Editor ที่เหมาะกับ Git

การใช้ Visual Studio Code (VS Code) ร่วมกับ GitHub บน Ubuntu จะช่วยเพิ่มประสิทธิภาพงานมากขึ้น VS Code เป็นโค้ดเอดิเตอร์แบบโอเพ่นซอร์สของ Microsoft ที่มี ฟีเจอร์ Git ในตัว สามารถ commit, push, ตรวจสอบความแตกต่างได้ผ่าน GUI เหมาะกับมือใหม่

วิธีติดตั้ง VS Code บน Ubuntu

สามารถติดตั้งได้ง่ายตามขั้นตอนนี้

1. เพิ่ม repository ของ Microsoft

sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

2. ลงทะเบียนข้อมูล repository

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

3. ติดตั้ง VS Code

sudo apt update
sudo apt install code

เมื่อติดตั้งเสร็จ สามารถเปิดด้วยคำสั่ง code บน terminal

มี Git extension มาในตัว

VS Code มาพร้อมกับฟีเจอร์ Git ในตัว ไม่ต้องติดตั้งปลั๊กอินเพิ่ม แต่ถ้าอยากได้ฟีเจอร์ขั้นสูง แนะนำ extension ต่อไปนี้:

  • GitHub Pull Requests and Issues
    → ใช้ GUI จัดการ pull request และ issue กับ GitHub ได้
  • GitLens
    → ดูประวัติการเปลี่ยนแปลงแต่ละบรรทัดในไฟล์ได้แบบละเอียด

Git operation พื้นฐานบน VS Code

โหลด repository เข้า VS Code

ใน terminal ให้เข้าไปที่โฟลเดอร์โปรเจกต์ที่ clone มา แล้วรัน:

code .

VS Code จะเปิดโปรเจกต์นี้ทันที

ดูความเปลี่ยนแปลงและ commit

  • คลิกไอคอน “Source Control” ด้านซ้าย (รูปแยกกิ่ง)
  • ดูไฟล์ที่เปลี่ยนแปลง
  • เลือกไฟล์เพื่อดู diff
  • พิมพ์ข้อความ commit แล้วคลิก “✓” เพื่อ commit

Push/Pull ผ่าน GUI

  • เลือก “Push” หรือ “Pull” จากเมนู “…” ในแถบด้านซ้าย
  • หรือใช้งานจาก status bar ด้านล่างขวา

ใช้ terminal ใน VS Code ก็ได้

สามารถสลับใช้ terminal ที่มีในตัว (กด Ctrl + `) กับ GUI ได้ เช่น commit ผ่าน GUI แต่ branch ผ่าน CLI ได้อย่างอิสระ

ข้อแนะนำกรณีเกิดปัญหา

  • ถ้าเจอปัญหา SSH connection ตรวจสอบว่า VS Code ใช้ SSH key ที่ถูกต้อง
  • หากต้องรีเซ็ต authentication หรือใช้ Personal Access Token (PAT) ของ GitHub ใหม่ ให้ตั้งค่าใหม่ตามขั้นตอน

6. แนวทางแก้ไขปัญหาที่พบบ่อย

ปัญหา SSH: “Permission denied (publickey).”

สาเหตุ

  • ยังไม่ได้สร้างหรือเพิ่ม SSH key
  • ยังไม่ได้เพิ่ม public key ลง GitHub
  • ssh-agent ยังไม่รู้จัก key

วิธีแก้ไข

  1. ตรวจสอบว่ามี key หรือไม่:
   ls ~/.ssh/id_ed25519.pub

ถ้าไม่มีให้สร้างใหม่:

   ssh-keygen -t ed25519 -C "your_email@example.com"
  1. เริ่ม ssh-agent แล้วเพิ่ม key:
   eval "$(ssh-agent -s)"
   ssh-add ~/.ssh/id_ed25519
  1. คัดลอก public key ไปที่ GitHub:
   cat ~/.ssh/id_ed25519.pub

→ เพิ่มผ่าน “SSH and GPG keys” ที่ GitHub

  1. ทดสอบการเชื่อมต่อ:
   ssh -T git@github.com

ปัญหา Authentication (HTTPS): ต้องกรอก username หรือ password

สาเหตุ

  • GitHub ยกเลิก password authentication ต้องใช้ token แทน

วิธีแก้ไข

  1. สร้าง Personal Access Token ที่ GitHub
    https://github.com/settings/tokens
    → เช็ก repo แล้วสร้าง token
  2. ตอนกรอกข้อมูลใน Git ให้ใช้ username (GitHub) และ password เป็น token
  3. ถ้าอยากให้ Git จำข้อมูล ใช้คำสั่งนี้:
   git config --global credential.helper cache

“fatal: not a git repository” error

สาเหตุ

  • ทำ git command นอกโฟลเดอร์ repository

วิธีแก้ไข

  • cd เข้าโฟลเดอร์ที่ clone repository มา:
  cd ~/your-project-directory
  • หรือสร้าง repository ใหม่:
  git init

กรณีเกิด conflict (ไฟล์ชนกัน)

สาเหตุ

  • คุณกับคนอื่น แก้ไขไฟล์เดียวกันส่วนเดียวกัน พร้อมกัน จะเกิด conflict ตอน merge

วิธีแก้ไข

  1. หากรัน git pull แล้ว error ให้เปิดไฟล์ที่มี conflict
  2. จะเห็นข้อความเช่นนี้:
   <<<<<<< HEAD
   แก้ไขของเรา
   =======
   แก้ไขของคนอื่น
   >>>>>>> origin/main
  1. เลือกเก็บเนื้อหาที่ต้องการ แล้วลบ marker ออก
  2. จากนั้นรันคำสั่ง:
   git add .
   git commit

“remote: Repository not found.” error

สาเหตุ

  • URL repository ผิด
  • ไม่มีสิทธิ์เข้าถึง repository นั้น

วิธีแก้ไข

  • ตรวจสอบ remote URL:
  git remote -v
  • ถ้าต้องแก้ไข ให้ตั้งค่าใหม่:
  git remote set-url origin git@github.com:your-username/your-repo.git

ปัญหาเหล่านี้เป็นเรื่องปกติสำหรับมือใหม่ แต่อย่ากังวล เมื่อเข้าใจสาเหตุและวิธีแก้แล้วจะจัดการได้ ทุก error คือโอกาสเรียนรู้

7. คำถามที่พบบ่อย (FAQ)

Q1. Git กับ GitHub ต่างกันอย่างไร?

A:
Git คือ เครื่องมือจัดการเวอร์ชันแบบออฟไลน์ สำหรับเก็บประวัติซอร์สโค้ดบนเครื่อง ส่วน GitHub คือ แพลตฟอร์มบนคลาวด์ ที่ใช้จัดเก็บ แชร์ และทำงานร่วมกันบน repository Git ได้

  • Git: จัดการเวอร์ชันแบบ local ได้
  • GitHub: แชร์และเก็บเวอร์ชันบนคลาวด์, ทำงานร่วมกับคนอื่น

Q2. ควรใช้ SSH หรือ HTTPS ดีกว่า?

A:
โดยทั่วไป แนะนำให้ใช้ SSH เพราะไม่ต้องกรอกรหัสผ่านบ่อยและปลอดภัยกว่า

  • ไม่ต้องพิมพ์ password ทุกครั้ง (ใช้ key auth)
  • ปลอดภัยและสะดวกสำหรับใช้งานประจำ

แต่ถ้า network หรือองค์กรจำกัด อาจต้องใช้ HTTPS

Q3. ถ้าใช้ GitHub หลายบัญชีบน Ubuntu ทำอย่างไร?

A:
ให้สร้าง SSH key แยกแต่ละบัญชี แล้วตั้งค่าไฟล์ SSH config ตัวอย่างเช่น:

  1. สร้าง SSH key แยกแต่ละบัญชี เช่น ~/.ssh/id_ed25519_work, ~/.ssh/id_ed25519_personal
  2. เพิ่มใน ~/.ssh/config:
   Host github.com-work
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_ed25519_work

   Host github.com-personal
       HostName github.com
       User git
       IdentityFile ~/.ssh/id_ed25519_personal
  1. ตั้งค่าที่ .git/config หรือเปลี่ยน remote URL:
   git remote set-url origin git@github.com-work:your-work-user/your-repo.git

Q4. ถ้าอยากใช้ Git ผ่าน GUI มีตัวเลือกอะไรบ้าง?

A:
สามารถใช้ Visual Studio Code เพื่อจัดการ Git แบบ GUI ได้ ทั้ง commit, push, diff, branch ฯลฯ เหมาะสำหรับมือใหม่

Q5. ถ้าลบ remote repository แล้ว local จะเป็นอย่างไร?

A:
ถ้าลบ remote repository ออกจาก GitHub local repository จะยังอยู่เหมือนเดิม แต่ push ไม่ได้

ถ้าจะเปลี่ยนไป remote ใหม่ ให้แก้ URL ด้วยคำสั่งนี้:

git remote set-url origin git@github.com:new-user/new-repo.git

Q6. ถ้าไม่อยากใช้ terminal มีทางเลือกไหม?

A:
สามารถใช้ Git ผ่าน GUI ได้ เช่น

  • GitKraken
  • Sourcetree (ยังไม่รองรับ Linux โดยตรง อาจใช้ผ่าน Wine)
  • Visual Studio Code (มี Git ในตัว)

สำหรับ Ubuntu แนะนำใช้ VS Code + GitLens ใช้งานง่ายและฟีเจอร์ครบ

Q7. Git เก็บประวัติย้อนหลังได้แค่ไหน?

A:
Git จะเก็บประวัติทุก commit ตั้งแต่แรก สามารถดูประวัติได้ด้วยคำสั่ง:

git log

ถ้าอยากดูเฉพาะไฟล์ใดไฟล์หนึ่ง ให้ใช้:

git log path/to/file
年収訴求