ฉันใช้เพื่อการบำรุงรักษาเว็บไซต์ที่สำคัญ ฉันเป็นผู้พัฒนา แต่เพียงผู้เดียว แต่ฉันมีผู้เชี่ยวชาญในการพัฒนาและออกสาขา
กระบวนการทำงานของฉันสำหรับการตั้งค่าไซต์มีลักษณะดังนี้:
ทำให้สาขาหลักสามารถทำงานได้ กระทำการเริ่มต้น
ชำระเงินพัฒนาสาขา อย่าทำอะไรเลยพัฒนาฟังก์ชั่นเป็นบัฟเฟอร์ทดสอบสำหรับการรวมเข้ากับต้นแบบ
สาขาปัญหาการชำระเงิน เขียนรหัสปัญหาของคุณเมื่อเสร็จแล้วให้ดึงไปสู่การพัฒนาดูว่ามีปัญหาใด ๆ เกิดขึ้นหรือไม่รวมความขัดแย้งเข้าด้วยกัน ฯลฯ ... แก้ไขปัญหาเหล่านั้น
เมื่อมีปัญหามากพอที่จะผสานเข้ากับการพัฒนาเพื่อการปล่อยและการพัฒนาได้รับการทดสอบเพื่อความมั่นคงให้ดึงการพัฒนาสู่ต้นแบบ
Master
|
Develop - E
/ | \ \
A B C D
ด้วยวิธีนี้คุณจะได้รับคอลเลกชันการทดสอบเต็มรูปแบบในการพัฒนาซึ่งคุณสามารถทดสอบความเสถียรปัญหา ฯลฯ ... โดยไม่ต้องเสี่ยงกับการทำร้ายอาจารย์และต้องย้อนกลับหากพวกเขาเป็นอันตราย
นอกจากนี้การใช้สาขาแต่ละสาขาในการส่งมอบคุณสามารถ "ออกจาก" งานที่คุณทำไปแล้วเริ่มต้นใหม่ในสิ่งอื่นเพื่อแก้ไขปัญหาเร่งด่วนมากขึ้น
ในชีวิตจริงฉันมักจะมีปัญหาหนึ่งสาขาและดึงสิ่งนั้นในการพัฒนาแล้วเป็นหลัก บางครั้งมันน่าเบื่อ แต่อย่างน้อยทุก ๆ สองเดือนฉันต้องเลิกทำงานที่หมวกเพราะใครบางคนมีความคิดว่าฉันต้องทำ RightNow ™และวิธีที่ฉันสามารถเปลี่ยนกลับไปเป็นสถานะพื้นฐานได้อย่างรวดเร็ว แล้วหลังจากนั้นฉันก็ไปต่อ โดยเฉพาะกับโครงการขนาดใหญ่ที่ใช้เวลาหลายสัปดาห์นี่เป็นสิ่งที่มาจากสวรรค์ที่ฉันสามารถเปลี่ยนสาขาได้อย่างรวดเร็ว
พิจารณาสถานการณ์สมมตินี้: คุณเคยทำงานในสาขาหลักและคุณมี AwesomeCodeThing ™ในการทำงานที่ใบสาขาปริญญาโทของคุณในการผ่าตัดหัวใจแบบเปิดและ YugeBug ™ปรากฏขึ้นที่ต้องแก้ไขอย่างเร่งด่วนมิฉะนั้นหลายพันคนจะบ่นกับคุณเกี่ยวกับ BigProblems ™
วิธีเดียวในการแก้ไขปัญหาของคุณอย่างรวดเร็วในสถานการณ์ดังกล่าว
- ตรวจสอบการกระทำก่อนหน้าของคุณ
- ดูว่าการกระทำที่มั่นคงครั้งสุดท้ายของคุณเคยเกิดขึ้นเมื่อใด (การสาปแช่งเป็นทางเลือก)
- ย้อนกลับไปที่การกระทำที่
- ทำการแก้ไขผลักออกไปผลิต
- แก้ไขข้อขัดแย้งและปัญหาทั้งหมดที่คุณพยายามกลับสู่สถานะ AwesomeCodeThing ™
- ยอมแพ้ร้องไห้และเริ่มทำงานใหม่ (ไม่บังคับ)
หากคุณใช้สาขา:
- ชำระเงินหลัก
- สร้างสาขา UrgentFix ™และแก้ไขสิ่งต่าง ๆ
- ดึง UrgentFix ™ให้เป็นมาสเตอร์
- ผลักดันการผลิต
- ผสานต้นแบบเข้ากับการพัฒนา
- ผสานรวมเข้ากับ AwesomeCodeThing ™
- รับเบียร์และทำงานต่อไป