ผลต่างระหว่างรุ่นของ "01204223/github-pr"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 35: แถว 35:
  
 
เพื่อความปลอดภัย github จะไม่ยอมให้เราดำเนินการ git ต่าง ๆ ด้วยรหัสผ่าน เราต้องไปสร้าง token เพื่อใช้แทน password โดยดำเนินการดังนี้
 
เพื่อความปลอดภัย github จะไม่ยอมให้เราดำเนินการ git ต่าง ๆ ด้วยรหัสผ่าน เราต้องไปสร้าง token เพื่อใช้แทน password โดยดำเนินการดังนี้
 +
== วิธีสร้าง Personal Access Token (PAT) บน GitHub ==
 +
 +
=== ขั้นตอนการสร้าง PAT ===
 +
 +
* เข้าสู่ระบบ GitHub แล้วคลิกที่รูปโปรไฟล์มุมขวาบน
 +
* เลือก '''Settings'''
 +
* เลื่อนลงไปด้านล่างสุดของเมนูซ้าย เลือก '''Developer settings'''
 +
* เลือก '''Personal access tokens''' > '''Tokens (classic)''' หรือ '''Fine-grained tokens'''
 +
* คลิก '''Generate new token''' (เลือก classic)
 +
* ตั้งชื่อ token และเลือกระยะเวลาหมดอายุ
 +
* เลือก '''scopes''' หรือสิทธิ์ที่ต้องการ ในที่นี้ให้เลือก repo
 +
* คลิก '''Generate token''' ด้านล่าง
 +
* '''คัดลอก token ทันที''' - จะไม่สามารถดูอีกครั้งได้
 +
 +
=== หมายเหตุ ===
 +
 +
* เก็บ token ไว้ในที่ปลอดภัย
 +
* Fine-grained tokens ให้การควบคุมสิทธิ์ที่ละเอียดกว่า
 +
* Classic tokens ใช้งานง่ายกว่าแต่ให้สิทธิ์กว้างกว่า
  
 
== pull requests (PR) ==
 
== pull requests (PR) ==
  
 
== accepting pull requests ==
 
== accepting pull requests ==

รุ่นแก้ไขเมื่อ 01:56, 19 ธันวาคม 2568

เป็นส่วนหนึ่งของวิชา 01204223

สำหรับคนที่เรียนในคาบ ให้รอทำกิจกรรมนี้พร้อม ๆ กัน ผู้สอนจะประกาศเพิ่มเติมในคาบ

รายละเอียดกระบวนการคร่าวๆ

ทบทวนแนวคิดพื้นฐานก่อน

  • merge เวลาที่เรามี history สองสาย (สอง head) แล้วต้องการนำมารวมเรา เราจะ merge, ในกระบวนการ merge อาจเกิด conflict ขึ้นได้ ซึ่งเราต้อง resolve ก่อน ถึงจะจัดเก็บได้ (commit)
  • git เป็น distributed version control แต่ละ repository จะเป็นหน่วยย่อยที่สมบูรณ์ในตัวเอง การจะแลกเปลี่ยน history กันจะดำเนินโดยการส่ง changes ไปมา มีขั้นตอนสองขั้นตอนหลัก ๆ เรียกว่า pull (นำการเปลี่ยนแปลงมา) กับ push (ส่งการเปลี่ยนแปลงไปให้)
  • หมายเหตุ: ขั้นตอนย่อยของ pull คือการ fetch แล้วตามด้วย merge หลายคนไม่ชอบใช้ pull
  • ของใน git โดยมากจะไม่มีทางหาย ถ้าทำพลาดไป โดยมากจะสามารถกู้ทุกอย่างกลับมาได้ ยกเว้นถ้ามีการสั่ง --force ดังนั้น อย่า force ถ้าไม่จำเป็น

กิจกรรมที่เราจะทำเป็นดังนี้

  • เราจะ fork repository กลางของแลบมาเป็น repository ของตนเอง
  • จากนั้นจะ clone repository ของเราเอง มาที่เครื่อง local
  • รอบที่ 1:
    • ผมจะแก้ไฟล์ที่ repository กลาง และให้แต่ละคน sync (pull) มาที่ repository ของตนเองใน github
    • เราจะ pull changes มาที่ local
    • จะเพิ่มไฟล์ และ push กลับไปที่ github ของแต่ละคน
    • แล้วจะให้แต่ละคนทำ pull request (PR) จาก repo github กลับมาที่ repository กลาง (รอบนี้จะ accept PR ได้แบบไม่มี conflict)
  • รอบที่ 2:
    • pull changes ทั้งหมดมาที่ local
    • ให้แก้ไฟล์ของแต่ละกลุ่ม
    • push กลับไป repo ตนเอง
    • ทำ pull request (PR) อีกรอบ และแก้ conflict (หัวแตก)

fork

clone

pull / push

Personal Access Token (PAT)

เพื่อความปลอดภัย github จะไม่ยอมให้เราดำเนินการ git ต่าง ๆ ด้วยรหัสผ่าน เราต้องไปสร้าง token เพื่อใช้แทน password โดยดำเนินการดังนี้

วิธีสร้าง Personal Access Token (PAT) บน GitHub

ขั้นตอนการสร้าง PAT

  • เข้าสู่ระบบ GitHub แล้วคลิกที่รูปโปรไฟล์มุมขวาบน
  • เลือก Settings
  • เลื่อนลงไปด้านล่างสุดของเมนูซ้าย เลือก Developer settings
  • เลือก Personal access tokens > Tokens (classic) หรือ Fine-grained tokens
  • คลิก Generate new token (เลือก classic)
  • ตั้งชื่อ token และเลือกระยะเวลาหมดอายุ
  • เลือก scopes หรือสิทธิ์ที่ต้องการ ในที่นี้ให้เลือก repo
  • คลิก Generate token ด้านล่าง
  • คัดลอก token ทันที - จะไม่สามารถดูอีกครั้งได้

หมายเหตุ

  • เก็บ token ไว้ในที่ปลอดภัย
  • Fine-grained tokens ให้การควบคุมสิทธิ์ที่ละเอียดกว่า
  • Classic tokens ใช้งานง่ายกว่าแต่ให้สิทธิ์กว้างกว่า

pull requests (PR)

accepting pull requests