เมื่อก่อนผมเป็นคนหนึ่งที่เกิดข้อสงสัยในใจว่า git คืออะไร และมาช่วยให้งานมันง่ายขึ้นได้อย่างไร เพราะเท่าที่ดูแล้วมันจะต้องเรียนรู้เพิ่มและทำงานเพิ่มมากกว่าเดิม แต่หลังจากที่ผมใช้งาน git จนเข้าใจ ผมพูดได้คำเดียวว่า วันนี้ผมขาด git ไม่ได้สำหรับคนทีไม่เคยใช้โปรแกรมใดๆเข้ามาช่วยจัดการงานทางด้านควบคุม sourcecode เวลาจะแบ็กอัพงานทีนึ่ง ก็จะก้อปปี้งานทั้งโฟลเดอร์แล้วอาศัยตั้งชื่อเป็น วัน-เดือน-ปี เอา ของบางคนอาจจะเติมเวลาเข้าไปด้วย การทำอย่างนี้เหมือนจะเป็นประโยชน์ แต่โค้ดที่แบ็กอัพไว้หากจะให้เอากลับมาใช้งานจริงๆ ถามว่าจะมีสักกี่คนกล้าเอามันโยนขึ้นโปรดักชั่นได้โดยไม่ต้องกังวล ส่วนใหญ่แล้วไม่กล้า สำหรับคนที่ใช้ git มันจะไม่มีปัญหาดังกล่าวข้างต้นเลย ผมอยากให้ดูภาพการใช้งานจริงของ git เพื่อเป็นการทำความเข้าใจว่าแท้จริงแล้ว git มันช่วยอะไรเราบ้าง
1. เก็บการเปลี่ยนแปลงของโค้ดทุกบรรทัด
รู้ได้ว่าโค้ดแต่ละบรรทัดใครเป็นคนแก้ มีประโยชน์อย่างมากเมื่อการเพิ่มโค้ดใหม่เข้าไป หรือแก้โค้ดเก่าแล้วเกิดบักขึ้น เมื่อเจอบรรทัดที่ก่อบักและรู้ว่าใครเป็นคนทำ เราสามารถถามเหตุผลการแก้โค้ดบรรทัดนั้นๆได้
2. สามารถทดสอบเขียนโค้ด โดยไม่ต้องกลัวโค้ดจะพังด้วยกระบวนการการแตก branch
3. รู้การเปลี่ยนแปลงของโค้ดทุกๆบรรทัด ทำให้ลดปัญหา “เราทำอะไรไปบ้างวะ” อีกทั้งสามารถยกเลิกการเปลี่ยนแปลงโค้ดได้อย่างง่ายดายเพียงแค่คลิกปุ่ม Discard ทุกอย่างก็กลับมาเหมือนเดิม
อีกหลายอย่าง เขียนอธิบายไว้ในหนังสือเล่มนี้แล้ว
สารบัญ
- บทที่ 1 Overview
- บทที่ 2 ติดตั้ง Git
- ติดตั้ง Git SCM
- ติดตั้ง Source Tree
- เปิดใช้งาน source tree ครั้งแรก
- Configuration
- บทที่ 3 Working with Git Locally
- สร้าง repository
- ทดลองเล่น Git ครั้งแรก
- Commit
- Undo
- Undo All
- Show history
- Ignore some file
- บทที่ 4 Going remote
- สมัคร bitbucket.org
- สร้าง Repository บน bitbucket.org
- Clonning ดึงโปรเจ็กมาลงเครื่องพัฒนา
- Pushing เอาไฟล์ขึ้นไปเก็บที่ bitbucket
- Pull ดึงไฟล์จาก bitbucket
- บทที่ 5 Branch
- การแตก branch
- การสลับ branch
- การลบ branch
- การลบ branch วิธีที่ 2
- การ merge branch
- tag ความหมายและการใช้งาน
- Stash วิธีการพักโค้ด
- Apply โค้ดจาก Stash
- การ Checkout โค้ด
- บทที่ 6 คำสั่งอรรถประโยชน์
- Amend Commit
- export
- export แบบ เจาะจง commit
- คำสั่ง
- คำอธิบาย
- export แบบช่วงจาก commit นี้ไปถึง commit นี้
- คำสั่ง
- คำอธิบาย
- บทที่ 7 bitbucket
- สำรวจ bitbucket ว่ามีอะไรบ้าง
- สร้างทีมสำหรับ dev
- Issue tracking
- เปิดใช้งาน Issue
- สร้าง Issue
- เปลี่ยนสถานะ Issue
- การแก้ไข Issue
- การแนบภาพประกอบ Issue
- การลบ Issue
- Hook
- ให้ส่งอีเมล์อัตโนมัติเมื่อมีใคร push code เข้า repository
- ให้ส่ง twitter อัตโนมัติเมื่อมีใคร push code เข้า repository
- Wiki
- เปิดใช้งาน Wiki