การทำงานกับหลายสาขาพร้อมกันในที่เก็บข้อมูลเดียว
ในโลกที่สมบูรณ์แบบ นักพัฒนาทุกคนควรมุ่งความสนใจไปที่งานหรือเรื่องราวเดียว โดยไม่ต้องสลับไปมาระหว่างบริบทต่างๆ มาเผชิญหน้ากันที่ไม่ค่อยเกิดขึ้นในปัจจุบัน โชคดีที่ git มีเครื่องมือที่สมบูรณ์แบบในคลังแสง ทำให้นักพัฒนาสามารถทำงานหลายสาขาได้พร้อมกันโดยไม่ต้องข้ามไปมา เครื่องมือที่เป็นปัญหาคือ git worktree
ความต้องการ:
ในการเริ่มแผนผังงาน คุณต้องมีที่เก็บเริ่มต้น ซึ่งเป็นทางเลือกที่มีหลายสาขา
ตัวอย่างเช่น ลองพิจารณาพื้นที่เก็บข้อมูลที่มีสามสาขา list-users-API
, สาขาคุณลักษณะที่เกิดขึ้นเป็นสาขาที่ใช้งานอยู่ในปัจจุบัน, main
สาขาและuser-unable-to-edit-content
, สาขาข้อบกพร่องเพิ่มเติม สถานการณ์ที่เป็นไปได้คือสาขาข้อผิดพลาดไม่ผ่านการตรวจสอบโค้ดและจำเป็นต้องทำการเปลี่ยนแปลงเพิ่มเติม มีสองวิธีที่เราสามารถดำเนินการได้จากที่นี่:
- เก็บความคืบหน้าทั้งหมดของเราและสลับไปที่สาขาจุดบกพร่องเพื่อใช้การเปลี่ยนแปลงที่จำเป็น
- โคลนที่เก็บในโฟลเดอร์อื่นและแก้ปัญหาโดยไม่ต้องซ่อน แต่ใช้เวลาพอสมควรในการดำเนินการ
- วิธีที่สามและขั้นสุดท้ายคือการใช้ git worktree รักษาความคืบหน้าปัจจุบันของเราในสาขาฟีเจอร์ และหลีกเลี่ยงการสลับทั้งหมด
การดำเนินการ:
ในการเริ่มต้น ให้ใช้คำสั่งต่อไปนี้เพื่อเริ่มต้นเวิร์กทรี :
$ git worktree add <path> [<commit-ish>]
หากคุณใช้git branch
ตอนนี้ คุณจะเห็น+
สัญลักษณ์นำหน้าชื่อสาขา ในการเริ่มใช้เวิร์กทรี สิ่งที่เราต้องทำคือเปิดไดเร็กทอรีใหม่ภายในที่เก็บด้วย IDE ที่เราเลือก ตอนนี้เราสามารถผลักดันการเปลี่ยนแปลงสาขาข้อผิดพลาดควบคู่ไปกับการพัฒนาคุณลักษณะใหม่ เมื่อเราแก้ไขเสร็จแล้ว เราสามารถลบแผนผังงานโดยใช้:
$ git worktree remove <worktree>
Git worktree เป็นเครื่องมือที่มีประโยชน์ซึ่งช่วยเพิ่มความคล่องตัวและประหยัดเวลาได้มาก อนุญาตให้ทำงานในสองสาขาขึ้นไปโดยไม่ต้องซ่อนหรือคอมมิตรหัสที่ยังไม่เสร็จ ฉันหวังว่าบทความนี้จะเป็นประโยชน์ & จะเพิ่มประสิทธิภาพการทำงานของคุณ โปรดให้ข้อเสนอแนะใด ๆ ที่คุณเห็นว่าควรค่าแก่การแบ่งปันในความคิดเห็น!