วันพุธที่ 5 พฤศจิกายน พ.ศ. 2557

เรามาใช้ GitHub กันนะ นะ นะ




จากคราวที่แล้วเขียนบทความเรื่อง GitHub แบบเบื่องต้นไป วันนี้เรามาเข้าสู่ภาคใช้งานจริงกันเถิด

ปล. ในบทความนี้เราจะไปพูดถึงแล้วนะ ว่า GitHub คืออะไรหน้า ตาเป็นไง ไปตามอ่านในบทความเก่ากันเองเน้อ

ปล๒. จะพูดถึงเรื่องจากใช้งานหลักๆนะ อะไรที่มัน advance มาก ควรไปลุยต่อเอง เข้าใจตรงกันนะ

ขอท้ายความนิดนึงนะ ในบทความที่แล้ว บอกไว้ว่า ตอนนี้ GitHub ออก Tool ที่เป็น GUI มาแล้ว พราะฉะนั้นถ้าใครไม่ชอบแบบ Command Line ก็ใช้ตัวนี้ก็ได้ ความสามารถ ไม่ต่างกัน

OK นะ อย่างที่บอกคือ GitHub นี่คือ Version Control ที่ช่วยเราทำงานอย่างมากมาย ประโยชน์มหาศาล ดังนั้นใครอ่านมาถึงตรงนี้แล้วก็ใช้กันเถอะนะ จะได้ไม่เดือดร้อนลูกหลานนะ

ตอนนี้ผมเข้าใจว่าทุกคนใช้ Commit / Push / Update กันเป็นแล้วนะ

ทีนี้เรื่องของเรื่องคือ ถ้าโปรเจ็คนี้มีคนทำแค่คนเดียว เท่าที่เราทำได้มันก็พอแล้ว แล้วถ้ามีหลายคนล่ะ แล้วถ้าทุกคนต้องการที่จะทำงานบน Repo เดียวกัน Branch เดียวกันล่ะ อืมมมมมมมมมมมมมมมม

1 Repo with X Collaborators

ตรงนี้นะ ก็คล้ายๆการเพิ่มสิทธิ์เข้ามาในตัว Repo คนที่เราเพิ่มเข้ามาก็ทำอะไรได้เหมือนเราเลย ณ จุดๆนี้ ผมนี่บอกเลยว่าต้องทำบนเว็บครับ เข้าไปที่เว็บ GitHub ครับ แล้วเลือกที่ Repo ของเราที่เราต้องการจะเพิ่ม Collaborator นะครับ

แล้วทางขวามือจะมี Menu Setting นะครับ คลิ๊กเลยครับ



ก็จะเข้ามาที่หน้า Setting นะครับ ทางซ้ายนะครับ มีเมนู Collaborators  นะครับ นั่นแหละครับ คลิ๊กครับ



คราวนี้ก็จะเห็นว่ามีช่องให้ใส่ username ที่เราต้องการเอาเข้ามาเป็น Collaborator นะครับ กี่คนก็ใส่ไปเลยครับไม่ต้องเกรงใจ



นั่นแหละครับ เท่านี้เราก็จะไม่เดียวดายอีกต่อไปแล้วใน Project เรา เย่


ต่อมานะครับ พอเรามี Collaborator เยอะๆ ต่างคนต่าง Commit นะครับ นึกภาพนะครับนึกภาพ ถ้ารัว Commit กันนะครับ เราจะรู้มั้ยครับ ว่าใคร Commit อะไร ตอนไหน โอวววววว จริงๆดูจาก History ได้นะ แต่มันไม่เท่ มันจะเท่นะถ้า มี Email แจ้งมาว่า ใคร Commit อะไร ตอนไหน โอววววววชีวิตแสนดี

Notification Email When Commit

ตัว GitHub รองรับความสามารถนี้เรียบร้อยแล้วครับ แต่ชีวิตไม่ง่ายครับ ยังไม่สามารถทำแบบว่าใน Setting ส่งให้ Collaborator คนไหนบ้าง

อ่ะ แล้วยังไงล่ะทีนี้ คือเราสามารถเซ็ทให้ GitHub ส่ง Email แจ้งเมื่อมี Commit ได้ แต่ได้แค่ 2 Email เท่านั้นนะ อ้าว แล้วถ้ามี Collaborator เป็น 10 คนทำยังไงล่ะทีนี้ ก็ต้องใช้ Mail Group สิครับ Group เดียว จะกี่คนๆก็ไหว Group รับได้

ขั้นตอนคร่าวๆก็คือ
1. สร้าง Mail Group
2. เอา Email ของ Collaborator เข้า Mail Group (แนะนำให้ใช้ Google Group)
3. เอา Mail Group ไปใส่ใน GitHub

ง่ายมะ ง่ายยยยยยยยยย แต่ชิวิตจริงไม่ได้โรยด้วยกรีบกุหราบ เพราะทำแค่นี้เหมือนจะพอ แต่ไม่พอ เราต้องเอา noreply@github.com มาใส่ใน Google Group ของเราด้วย


ส่วนขั้นตอนการเอา Mail Group ไปใส่ใน GitHub ก็ดูได้ที่
https://help.github.com/articles/receiving-email-notifications-for-pushes-to-a-repository/ และ
http://stackoverflow.com/questions/7015300/receiving-emails-on-git-push


ส่วนวิธีสมัคร Mail Group ไปลุยกันเองนะ

ปล๓. บทความนี้เน้นให้ลุยเองนะ ไม่บอกหมดแบบ 100%
ปล๔. ขอขอบคุณทุกคนที่อ่านมาจนจบนะครับ