ฉันอยู่ในสถานการณ์นี้ แต่ฉันเลือกที่จะซับซ้อนกว่านี้เล็กน้อย แต่ไม่จำเป็นต้องมีเวิร์กโฟลว์ที่ซับซ้อนมากขึ้นด้วย Git
ตอนแรกวัตถุประสงค์คือเรียนรู้วิธีการคอมไพล์ดังนั้นฉันจึงทำการสำรวจบ้าง จากนั้นเปลี่ยนกลับเป็นเวิร์กโฟลว์ที่คุณอธิบาย
หลังจากที่ในขณะนี้กลายเป็นเรื่องยากที่จะทำงานกับบางสถานการณ์ที่เกิดขึ้นก็ทำให้ฉันนิสัยที่ไม่ดีที่จะยากที่จะทำลายเมื่อฉันเข้าร่วมทีม
ดังนั้นฉันตัดสินต่อไปนี้:
- ที่เก็บในเครื่องสำหรับการทำงาน
- กิ่งก้านเป็นลำต้นที่มั่นคงสำหรับการใช้งาน
- หนึ่งสาขาสำหรับแต่ละคุณสมบัติ / ตัวสร้างซ้ำโดยทั่วไปหนึ่งสาขาสำหรับการเปลี่ยนแปลงขนาดใหญ่แต่ละครั้งที่จะทำ
- รวมกลับไปที่ลำตัวเมื่อสาขามีเสถียรภาพและการทดสอบทั้งหมดผ่าน
ฉันยังตั้งค่าบัญชีฮับ git ที่ฉันซิงโครไนซ์ลำตัว สิ่งนี้ทำให้ฉันเริ่มทำงานกับคอมพิวเตอร์ต่าง ๆ ได้อย่างง่ายดาย มันเป็นสิ่งจำเป็น แต่อนุญาตให้ฉันค้นหาข้อผิดพลาดที่เชื่อมโยงกับสภาพแวดล้อมที่ฉันไม่สามารถใช้กับคอมพิวเตอร์เครื่องอื่นได้ ดังนั้นตอนนี้ฉันจึงทำให้เป็นนิสัยที่จะลองทำโครงการในระบบ "บริสุทธิ์" ที่แตกต่างกันอย่างน้อยหนึ่งครั้ง ช่วยให้ฉันปวดหัวมากเมื่อถึงเวลาต้องปรับใช้กับลูกค้า
- ฉันติดแท็กทุกรุ่นที่ทำให้เป็น GitHub เป็นเวอร์ชัน releasable
- หากปล่อยให้กับลูกค้าฉันจะสาขาจากรุ่นนี้เพื่อสร้างลำตัวที่มั่นคงที่สองสำหรับการแก้ไขข้อบกพร่องที่ประกาศโดยลูกค้า
ในตอนแรกหลายสาขาดูเหมือนจะเกินความจริง แต่จริงๆแล้วช่วยได้มาก ฉันสามารถเริ่มต้นความคิดในสาขาทำงานกับมันในขณะที่และเมื่อฉันเริ่มวิ่งวงการฉันให้ขึ้นและเริ่มสาขาอื่นเพื่อทำงานอย่างอื่น ต่อมามีความคิดมาที่ฉันจะกลับมาที่สาขาอบครึ่งและสำรวจความคิดนี้ ภาพรวมนี้ทำให้ฉันมีประสิทธิภาพมากขึ้นเพราะฉันสามารถแสดงแสงแฟลชและความคิดได้อย่างรวดเร็วและดูว่ามันทำงานได้หรือไม่ ค่าใช้จ่ายในการสับเปลี่ยนสาขากับ GIT นั้นต่ำมากทำให้ฉันคล่องแคล่วมากเมื่อใช้รหัสฐาน ที่กล่าวว่าฉันยังต้องต้นแบบแนวคิดการลดราคาเพื่อล้างประวัติของฉัน แต่เนื่องจากฉันอยู่คนเดียวฉันสงสัยว่าฉันต้องการจริงๆ ผลักดันให้เป็น "ดีที่จะเรียนรู้"
เมื่อการแตกแขนงทั้งหมดซับซ้อนแล้วฉันก็สำรวจตัวเลือกบันทึกเพื่อวาดต้นไม้แห่งการเปลี่ยนแปลงและดูว่าสาขาไหนอยู่ที่ไหน
เรื่องสั้นสั้น ๆ คอมไพล์ไม่เหมือน SVN, CVS หรือ (brrr) TFS การแตกแขนงนั้นถูกมากและการทำผิดพลาดที่จะลบล้างงานนั้นค่อนข้างยาก เพียงครั้งเดียวที่ฉันสูญเสียงานและเป็นเพราะฉันทำให้ความมุ่งมั่นของฉันใหญ่เกินไป (ดูนิสัยที่ไม่ดีด้านบน) หากคุณกระทำบ่อยๆโดยกลุ่มเล็ก ๆ จะเป็นพันธมิตรที่ดีที่สุดของคุณอย่างแน่นอน
สำหรับฉันคอมไพล์เปิดใจของฉันกับสิ่งที่ควบคุมแหล่งที่มาเป็นเรื่องจริง สิ่งอื่น ๆ ก่อนหน้านี้เพียงแค่พยายามที่จะรับมัน git เป็นครั้งแรกที่ในใจของฉันได้รับมัน ที่กล่าวว่าฉันไม่ได้ลอง DVCS อื่น ๆ อาจเป็นไปได้ว่าคำสั่งนี้จะถูกขยายให้ครอบคลุมทั้งครอบครัว
หนึ่งคำแนะนำสุดท้ายบรรทัดคำสั่งคือเพื่อนของคุณ ไม่ต้องบอกว่าเครื่องมือกราฟิกไม่ดี แต่ค่อนข้างตรงกันข้าม แต่ฉันคร่ำครวญอย่างมากเมื่อฉันทิ้งลงไปที่บรรทัดคำสั่งและลองด้วยตัวเอง จริงๆแล้วมันทำมาได้ดีมากง่ายต่อการติดตามด้วยระบบช่วยเหลือที่ครอบคลุมมาก ๆ ปัญหาที่ใหญ่ที่สุดของฉันคือการถูกผูกติดอยู่กับคอนโซล แต่น่าเกลียดใน windows จนกว่าฉันจะพบทางเลือก
ตอนนี้ฉันใช้ทั้งการรวม Eclipse กับ Git เพื่อดูว่าเกิดอะไรขึ้นในแบบเรียลไทม์และดำเนินการบางอย่างเช่น diffs, สำรวจประวัติสำหรับไฟล์, ฯลฯ และบรรทัดคำสั่งสำหรับการแยก, การรวม, การผลัก, การรับ . การเขียนสคริปต์ขั้นพื้นฐานบางอย่างและฉันไม่เคยมีประสิทธิภาพมากนักเกี่ยวกับการควบคุมซอร์สและฉันไม่เคยควบคุมซอร์สของฉันได้มากนัก
ขอให้โชคดีหวังว่านี่จะช่วยได้