- เข้า GitHub ด้วยบัญชีของตนเอง, แล้วค้นหา repo ที่ชื่อว่า
cs_github_tbd
- ทำการ Fork repo
- ทำการเพิ่มสมาชิกคนอื่นเข้าสู่ repo
- ทำการ clone repo จาก GitHub(remote) ลงมาที่ Computer(local) ของตัวเอง
- ย้าย directory ไปยัง repo ที่พึ่ง clone มา
- รับคำเชิญจากสมาชิกคนที่ A เพื่อเข้า repo เดียวกันในกลุ่ม
- ทำการ clone repo จาก GitHub(remote) ลงมาที่ Computer(local) ของตัวเอง
- ย้าย directory ไปยัง repo ที่พึ่ง clone มา
- แก้ไข file ชื่อ greeting_a.py โดยทำการเพิ่ม print ชื่อตัวเองลงไปบน code ในบรรทัดที่
- ทำการบันทึกการเปลี่ยนแปลง file โดยใช้คำสั่ง
$ git add . && git commit -m "create greeting from A"
- จากนั้นทำการเปลี่ยนแปลงการแก้ไขขึ้นไปบน remote repo ด้วยคำสั่ง
$ git push
- แก้ไข file ชื่อ greeting_b.py โดยทำการเพิ่ม print ชื่อตัวเองลงไปบน code
- ทำการบันทึกการเปลี่ยนแปลง file โดยใช้คำสั่ง
$ git add . && git commit -m "create greeting from B"
- รอ A push ก่อน จากนั้นทำการเปลี่ยนแปลงการแก้ไขขึ้นไปบน remote repo ด้วยคำสั่ง
$ git push
ถ้าเกิด error ขึ้นแปลว่าถูก
- Update local file ด้วยคำสั่ง
$ git pull
- แก้ไข file ชื่อ greeting_c.py โดยทำการเพิ่ม print ชื่อตัวเองลงไปบน code
- ทำการบันทึกการเปลี่ยนแปลง file โดยใช้คำสั่ง
$ git add . && git commit -m "create greeting from C"
- รอ B push ก่อน จากนั้นทำการเปลี่ยนแปลงการแก้ไขขึ้นไปบน remote repo ด้วยคำสั่ง
$ git push
ถ้าเกิด error ขึ้นแปลว่าถูก
- Update local file ด้วยคำสั่ง
$ git pull
- ให้แต่ละคนแก้ไข file ชื่อ my_operator.py โดยทำการแก้ไขให้ function ทำงานได้
- ให้ B เป็นคน push ขึ้นไปก่อน โดยที่แต่ละคนยังไม่ต้อง commit ใดๆ
- ให้ A ทำการ pull
$ git add . && git commit -m "create greeting from A"
- จากนั้นทำการเปลี่ยนแปลงการแก้ไขขึ้นไปบน remote repo ด้วยคำสั่ง
$ git push
- Update file บนเครื่องให้เหมือนบน GitHub โดยใช้คำสั่ง
$ git pull
- จากนั้นทำการแก้ไข conflict โดยใช้คำสั่ง
$ git merge main
-
เปิด vscode(editor) เพื่อใช้สำหรับแก้ conflict แล้วเลือกหัวข้อ Source control ในแถบด้านซ้ายมือ จากนั้นเลือก file ที่มี conflict แล้วทำการแก้ไข
-
โดยวิธีการแก้คือให้เลือกว่าจะส่วนไหน
- ถ้าอยากได้ code ที่เราเขียนเอง ให้เลือก
Accept Current
- ถ้าอยากได้ code จากบน remote ให้เลือก
Accept Incoming
- ถ้าอยากได้ code ที่เราเขียนเอง ให้เลือก
-
จากนั้นทำการบันทึกการเปลี่ยนแปลงนั้นด้วยคำสั่ง
$ git commit -m "<ข้อความอธิบายการแก้ไข>"
- จากนั้นทำการเปลี่ยนแปลงการแก้ไขขึ้นไปบน remote repo ด้วยคำสั่ง
$ git push
Exercise: จำลองสถานณ์การการแก้ Conflict โดยให้คนในทีมช่วยกันแก้ไข file ชื่อ script.js โดยเพิ่มคำสั่งที่ทำให้สามารถแสดงชื่อของทุกคนในกลุ่มได้ โดยมีข้อกำหนดดังนี้
- ใช้คำสั่ง console.log()
- ใน 1 commit สามารถเพิ่ม log ได้ทีละคน
- ต้องทำให้เกิด conflict และ แก้ conflict นั้นด้วยการ merge