แบรนช์เป็นศูนย์กลางของแนวคิดของการควบคุมเวอร์ชันในการเขียนโปรแกรม และโดยเฉพาะอย่างยิ่ง Git บทความเริ่มต้นนี้จะบอกคุณว่าสาขาคืออะไรและจะสร้างได้อย่างไรโดยใช้เครื่องมือต่างๆ
สาขา Git คืออะไร?
ในระบบควบคุมเวอร์ชัน คำว่าbranchถูกใช้เพื่อเปรียบเทียบกับต้นไม้ในแง่ที่ว่าแต่ละกิ่งจะโผล่ออกมาจากอีกกิ่งหนึ่ง ในที่สุดก็จบลงที่ลำต้น สาขาช่วยให้คุณสร้างสายการพัฒนาแต่ละสายเพื่อทำงานแยกกันโดยไม่รบกวนงานอื่น
ที่เกี่ยวข้อง: วิธีใช้ Git Branches เพื่อจัดโครงสร้างโครงการการเขียนโปรแกรมของคุณ
เมื่อใช้ Git คุณจะทำงานกับมาสเตอร์แบรนช์ตามค่าเริ่มต้น ไม่ว่าคุณจะทราบหรือไม่ก็ตาม ซึ่งมักเรียกว่าสาขาactive , ปัจจุบัน , เช็คเอาต์ หรือHEAD ของคุณ เมื่อใดก็ได้ในระหว่างวงจรการพัฒนาของคุณ คุณสามารถสร้างสาขาใหม่และทำงานแยกกันในแต่ละสาขาได้ตั้งแต่จุดนั้นเป็นต้นไป
การสร้างสาขาใหม่บน Command Line
โปรแกรม Git บรรทัดคำสั่งให้พลังและความยืดหยุ่นสูงสุด แต่ยังต้องเรียนรู้อีกมาก หากคุณรู้สึกสบายใจที่จะค้นหา man page และใช้งาน Git อย่างหนัก นี่เป็นตัวเลือกที่ดี
ใช้คำสั่งgit branchเพื่อสร้างสาขาใหม่ด้วยชื่อที่กำหนด:
$ git branch dev Branch 'dev' set up to track local branch 'master'.
สิ่งนี้จะแยกสาขาจากสาขาปัจจุบัน ดังนั้นตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนไปใช้สาขาที่คุณต้องการแตกสาขาก่อนที่คุณจะดำเนินการคำสั่งนั้น
คุณสามารถแสดงรายการสาขาทั้งหมดและยืนยันว่าสาขาใหม่ถูกสร้างขึ้นโดยใช้สาขา gitโดยไม่มีข้อโต้แย้ง:
$ git branch 1 dev 2 * master
คุณสามารถดูข้อมูลเพิ่มเติม รวมถึงสาขาใดแทร็กหนึ่งโดยใช้แฟล็ก -vv :
$ git branch -vv 1 dev d1a9e5b [master] commit comment 2 * master d1a9e5b commit comment
หากคุณพยายามสร้างสาขาก่อนการคอมมิตครั้งแรก คุณจะได้รับข้อความแสดงข้อผิดพลาดเช่น:
fatal: Not a valid object name: 'master'.
หากคุณพยายามสร้างสาขาโดยใช้ชื่อที่มีอยู่แล้ว คุณจะได้รับข้อความแสดงข้อผิดพลาดเช่น:
fatal: A branch named 'dev' already exists.
สาขาคอมไพล์คำสั่งสร้างสาขาใหม่ชี้ไปเหมือนกันกระทำคุณกำลังทำงานอยู่ในปัจจุบัน อย่างไรก็ตาม สำเนางานของคุณจะยังคงชี้ไปที่สาขาหลัก หากต้องการเปลี่ยนไปใช้สาขาใหม่ที่คุณเพิ่งสร้างขึ้น ให้ใช้git checkout :
git checkout dev
คำว่าเช็คเอาต์อาจสร้างความสับสนหากคุณคุ้นเคยกับระบบควบคุมเวอร์ชันอื่น ใน Git การชำระเงินหมายถึงการเปลี่ยนสาขาที่ใช้งานอยู่ในปัจจุบัน เนื่องจากคุณมักจะต้องการเปลี่ยนไปใช้สาขาใหม่เมื่อสร้างแล้ว จึงมีทางลัดสำหรับกระบวนการทั้งหมด:
git checkout -b dev
คำสั่งนั้นหมายถึง "สร้างสาขาใหม่ที่เรียกว่า 'dev' และเปลี่ยนเป็นมันทันที" มันเทียบเท่ากับ:
git branch dev git checkout dev
ที่จริงแล้ว คุณยังสามารถใช้git checkoutเพื่อสร้างสาขาจากสาขาอื่นได้ ไม่ใช่แค่สาขาที่เช็คเอาท์อยู่ในปัจจุบัน ตัวอย่างเช่น หากต้องการสร้างสาขาใหม่ที่ชื่อanotherจากสาขาที่ชื่อdev :
git checkout -b another dev
การสร้างสาขาใหม่โดยใช้ GitHub Desktop
อีกวิธีหนึ่งในการสร้างสาขา Git บน Windows หรือ macOS คือการใช้GitHub Desktopซึ่งเป็นโปรแกรมส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) อย่างเป็นทางการที่จัดทำโดย GitHub การใช้ GUI นั้นสมบูรณ์แบบสำหรับผู้เริ่มต้น และผู้ที่ฝันร้ายเมื่อมีคนกระซิบคำว่า Vim
GitHub Desktop จะแสดงสาขาปัจจุบันของคุณในแถบเครื่องมือหลักเสมอ:
คลิกที่ปุ่มแถบเครื่องมือหลักนั้นเพื่อแสดงรายละเอียดของสาขาของที่เก็บ รวมถึงตัวเลือกในการสร้างสาขาใหม่:
โปรดทราบว่าหากคุณเริ่มพิมพ์ชื่อสาขาโดยไม่มีข้อมูลที่ตรงกัน GitHub Desktop จะแจ้งให้คุณสร้างสาขาใหม่และแสดงแป้นพิมพ์ลัดให้ทำเช่นนั้น ซึ่งจะเป็นประโยชน์ในกรณีที่คุณพบว่าตัวเองทำสิ่งต่างๆ เป็นจำนวนมากจริงๆ:
คุณสามารถเริ่มต้นได้โดยกดปุ่มNew Branchทันที ไม่ว่าคุณจะใช้เส้นทางใด คุณจะลงเอยด้วยกล่องโต้ตอบเพื่อยืนยันชื่อสาขาใหม่:
สาขาใหม่ของคุณจะขึ้นอยู่กับสาขาใดที่ใช้งานอยู่เมื่อคุณสร้างมันขึ้นมา GitHub Desktop จะสลับไปยังสาขาใหม่ของคุณ ซึ่งจะติดตามสาขาที่คุณสร้างขึ้นโดยอัตโนมัติ
การสร้างสาขาใหม่โดยใช้ Tower
GUI อื่นๆ มีให้จากบุคคลที่สาม Tower ให้บริการฟรีในช่วงทดลองใช้งาน 30 วัน และพร้อมใช้งานบน macOS และ Windows
ในการสร้างสาขาใหม่จากสาขาที่เช็คเอาท์ในปัจจุบัน ให้เลือกCreate New BranchจากเมนูRepositoryหลัก:
ในการสร้างสาขาใหม่จากสาขาที่มีอยู่ ให้คลิกขวาที่สาขาในแถบด้านข้างทางซ้ายมือ แล้วเลือกCreate New Branch from :
โปรดทราบว่า ไม่ว่าในกรณีใด คุณสามารถเปิดใช้งานสาขาเป็นสาขาติดตาม หรือเปลี่ยนจุดเริ่มต้นเป็นสาขาใดก็ได้ที่มี:
การสร้างสาขาใหม่โดยใช้ GitKraken
GitKrakenเป็น GUI ยอดนิยมอีกตัวหนึ่งที่อาจดูน่ากลัวในตอนแรก แต่มันทำงานได้ดีในการแสดงแนวคิด Git หลักด้วยสายตา ซึ่งรวมถึงสาขา GitKraken เป็นโปรแกรมโอเพ่นซอร์สฟรีสำหรับ Windows, Mac และ Linux
ตรวจสอบให้แน่ใจว่าคุณกำลังทำงานกับสาขาที่ถูกต้อง เป็นรายการที่ไฮไลต์ในรายการสาขาในแถบด้านข้างทางซ้ายมือ:
ในการสร้างสาขาใหม่ ให้คลิกไอคอนสาขาในแถบเครื่องมือหลัก:
ป้อนชื่อสาขาของคุณและกด ENTER:
สาขาใหม่จะถูกเช็คเอาท์โดยอัตโนมัติ และคุณจะได้รับการแจ้งเตือนทางด้านขวามือของหน้าจอ
การสร้างสาขาใหม่บน GitHub
แทนที่จะเรียกใช้แอปในเครื่อง คุณสามารถโฮสต์ที่เก็บของคุณบนหนึ่งในสองเว็บแอปยอดนิยมที่รองรับ Git อย่างแรกคือGitHubเป็นตัวเลือกยอดนิยมสำหรับชุมชนโอเพ่นซอร์ส
GitHub แสดงสาขาปัจจุบัน (ใช้งานอยู่) ในมุมมองที่เก็บของคุณ ใกล้ซ้ายบน:
คลิกปุ่มเพื่อแสดงสาขาที่มีอยู่:
พิมพ์ชื่อสาขาใหม่และสังเกตว่าคุณจะได้รับตัวเลือกในการสร้างจากสาขาปัจจุบัน:
เมื่อสร้างแล้ว สาขาใหม่ของคุณจะใช้งานได้
การสร้างสาขาใหม่บน Bitbucket
Bitbucketเป็นเว็บแอปควบคุมเวอร์ชันยอดนิยมอีกตัวหนึ่งที่ให้บริการบัญชีฟรีพร้อมที่เก็บส่วนตัวไม่จำกัดจำนวน
จากหน้าใดก็ได้ภายในที่เก็บของคุณ เลือกรายการสาขาจากเมนูทางด้านซ้าย:
คลิกปุ่มสร้างสาขาที่ด้านบนขวา ใส่ใหม่ชื่อสาขาและคลิกสร้าง หากคุณต้องการแตกสาขาจากที่อื่นที่ไม่ใช่masterให้เปลี่ยนFrom branchก่อน:
Bitbucket ทำให้ง่ายต่อการเลือกประเภทซึ่งเป็นคำนำหน้าที่เพิ่มลงในชื่อสาขา ซึ่งสามารถส่งเสริมวิธีการจัดระเบียบสาขามากขึ้น เป็นเพียงการประชุม ไม่ใช่คุณลักษณะ Git ในตัว แต่สามารถพิสูจน์ได้ว่ามีประโยชน์
เมื่อสร้างแล้ว Bitbucket จะแสดงมุมมองของสาขาใหม่ของคุณ:
เรียนรู้ที่จะแยกสาขาออกด้วย Git
Git เป็นเรื่องเกี่ยวกับกิ่งก้าน: พวกมันสร้างได้ราคาถูกและอนุญาตให้มีงานหลายสตรีมอยู่ร่วมกัน พร้อมที่จะรวมเมื่อเสร็จสมบูรณ์ เมื่อคุณคุ้นเคยกับการสร้าง สับเปลี่ยน และรวมสาขาแล้ว คุณจะสามารถใช้ Git ได้อย่างเต็มศักยภาพ