[#2 Bitbucket] การใช้ git ใน Bitbucket + ทำ gitflow ใน SourceTree🌳🌳🌳
เคยพบกับปัญหานี้หรือไม่ ไฟล์หาย จะหางานเวอร์ชั่นเก่า หาไม่เจอ เวลาทำงานเป็นทีมต้องใช้แฟลชไดรฟ์แล้วมารวมกัน ถ้าเป็นดังที่กล่าวไปข้างต้น ขอแนะนำให้รู้จักกับ git กันเลยดีกว่า git เป็น version control ตัวหนึ่ง หน้าที่ของมันคือจัดเก็บการเปลี่ยนแปลงของไฟล์ในโปรเจคเรา โดยเราสามารถย้อนกลับไปดูเวอร์ชั่นเก่าๆของงานเราได้ นอกจากนี้มันยังช่วยให้การทำงานเป็นทีมสะดวกมากขึ้น และสามารถรู้ได้ว่าใครในทีมแก้ไขตรงไหนไปบ้าง ซึ่งในวันนี้จะมาทำบน SourceTree โดย SourceTree นี้คือตัวจัดการ git นั่นเองง
1.ขั้นเตรียมการเพื่อใช้ git และ clone project
1)เริ่มจากไปสมัคร Bitbucket ก่อนเลย ตามลิ้งด้านล่างนี้เลย
https://bitbucket.org/account/signup/
2)เมื่อสมัครแล้วให้กด Create Repository ตามลูกศรสีเหลืองเพื่อไปหน้า create
3)ทำการใส่ชื่อ Repository name และตรงลูกศรสีเขียวคือจะให้โปรเจคเราเป็น private หรือไม่ ถ้าอยากให้เป็นความลับที่อยู่ในใจก็ติ๊กไปด้วยจ้า เมื่อเสร็จแล้วให้ กด Create repository เพื่อสร้างโปรเจคที่จะใช้ git (แล้วเดี๋ยวโปรเจคเรามันจะเข้ามาเก็บในเจ้าตัวนี้)
4)กด clone เพื่อที่จะ clone โปรเจคไปไว้ใน SourceTree
5)เข้ามาใน SourceTree จากนั้น กด Clone
6)จะปรากฎหน้านี้ขึ้นมาดังภาพ ให้เอา url ที่ได้จาก Bitbucket มาใส่ในช่องสีเหลือง
2.ขั้นการทำ git flow
การทำ git flow ตอนแรกเราจะต้องทำการ commit ก่อนหนึ่งครั้ง ลืมบอกเลยว่า git flow คือ ข้อตกลงในการทำงาน ส่วนขั้นตอนการทำงานของ git flow เราจะแยกเป็น 2 branch ก็คือ มี master เป็นตัวหลัก แล้วก็ branch develope เป็นตัวที่เราจะเพิ่ม features ต่างๆ จะทำใน branch นี้แล้วค่อย release เข้าสู่ master ซึ่งถ้าเกิดเรา push เข้าไปใน master แล้ว เกิดมีบักเกิดขึ้น เราก็จะทำการ hotfix จาก master ลงมา เพื่อแก้บัก ซึ่งเจ้า git flow จะแก้ให้อัตโนมัติเองเลยทั้งใน master และ develope
- ทำการเพิ่มไฟล์ใน folder
- กด Push เพื่อส่งไปเก็บใน Bitbucket
- จากนั้นกด Git flow มุมบนขวา จะขึ้นหน้าต่างดังภาพ กด OK ได้เลยจ้า
- ทีนี้เราจะได้ Branch ชื่อ Develope มาแบบนี้
- กดที่ Git flow เลือก Start New Feature
Start New Feature เป็นการเพิ่ม Feature ให้กับตัว Branch Develope
- จากนั้น กดที่ git flow อีกครั้ง เเล้วเลือก Finish Feature ตามภาพด้านล่าง
- ต่อมาเราจะทำการ Release เพื่อนำเอา Feature ที่เราทำมาขึ้นไปยัง Master จ้า โดยให้กด ที่ git flow พอขึ้นหน้าต่างตามภาพด้านล่าง เลือก Start New Release
- ต่อมา เราจะมาทำการ Hotfix มันคือ การที่เราส่งโปรเจคของเราเข้าไปใน master แล้ว พบว่ามีบักเกิดขึ้น เราก็จะทำการ hotfix มันลงมาจาก master เพื่อทำการแก้ไข
- จากนั้นให้เราไปทำการแก้ไขไฟล์ แล้ว commit สัก 2 commit จะได้ดังภาพนี้
ก็จบไปแล้วน้าสำหรับการทำ features , การเอา release ขึ้น master , และการ hotfix โค้ดลงมาจาก master ถ้าเกิดบักตอนเอาขึ้น master ไปแล้ว แต่เรามีอีกอย่างหนึ่งที่จะมาเขียน คือ การทำ Stash ในกรณีที่เราจะต้องพักโค้ดไปทำอย่างอื่นก่อน เช่น ไป hotfix แก้บัก ,ไปทำ features เพิ่ม หรืออื่นๆ
ถ้าเราไม่ทำ stash แล้วไปทำงานอื่นเนี่ย มันอาจจะทำให้ไฟล์มันติดไปที่งานอื่นๆของเราได้นะ เลยต้องทำ stash เพื่อพักโค้ดให้อยู่ที่ feature นั้นๆก่อน มันจะได้ไม่ตามเรามางานอื่น ไม่งั้นยุ่งแน่เลยเชียว
- การทำ stash ไม่ได้ยากอย่างที่คิด ทำตามนี้เลยจ้า
- สร้าง features มาสักอันนึง อันนี้เราลองสร้างเป็น feature sleep จากนั้น กด stash
- จากนั้นก็ทำการ Finish Feature ได้เล้ยยยยย
- ถ้าจะเอาขึ้น Bitbucket ก็ต้อง release ขึ้น master ด้วยย อย่าลืมเชียววว
- เมื่อเราเข้าไปที่ Bitbucket (ปล.ใครเปิดค้างไว้ก็ refresh สัก1ทีจ้า) เราก็จะพบว่าแท่นแท้นนนน~~~เสร็จแล้วว ไฟล์มากมายได้มาอยู่รวมกันที่ master ตามที่เราตั้งใจแล้วล่ะ เย้ๆ