เราเป็นที่ปรึกษาด้านซอฟต์แวร์ที่มีโครงการมากมายสำหรับลูกค้าที่แตกต่างกัน เราใช้การโค่นล้มแบบดั้งเดิม แต่ขณะนี้กำลังพิจารณาที่จะย้ายไป Git
ส่วนสำคัญของเอกสารที่เราผลิตนั้นจะถูกแบ่งปันกับลูกค้าของเรา (ความต้องการ, การออกแบบระดับโลก, รายละเอียดการทดสอบ, ฯลฯ ) และเราใช้ MS Office เพื่อผลิตสิ่งเหล่านี้ ในการโค่นล้มเราสามารถใช้คุณสมบัติ "ล็อค" เพื่อให้แน่ใจว่าไม่มีใครแก้ไขเอกสารเดียวกันในเวลาเดียวกัน ใน Git คุณไม่สามารถทำเช่นนั้นได้เนื่องจากลักษณะการกระจายของมัน Git ไม่มีการล็อค
ล็อคเป็นมากกว่ากลไกการสื่อสารเพียงเล็กน้อย แต่มันมีประสิทธิภาพมาก
ปัจจุบันรหัสของเราและเอกสารที่ต้องพบกับลูกค้ามักอยู่ในโฟลเดอร์ย่อยที่แตกต่างกันของที่เก็บ svn ที่แตกต่างกัน เมื่อย้ายไปคอมไพล์คุณอยากแนะนำอะไรให้เราทำ? ฉันเห็นชุดตัวเลือก:
เราย้ายที่เก็บ svn ไปที่ git 1-on-1 แทนที่จะใช้การล็อกไฟล์ Office เราทำในสิ่งที่คน git แนะนำและพยายามเปลี่ยนเวิร์กโฟลว์ของเราเพื่อแก้ไข สิ่งนี้อาจทำงานได้ในสาขาในการแก้ไขเอกสารใด ๆ และรวมเข้ากับการตรวจสอบ วิธีนี้แบ่งออกเป็นเช่นแผ่นงาน Excel ที่มีข้อมูลการจัดการโครงการ พวกเขาแก้ไขได้อย่างง่ายดายโดยสมาชิกในทีม (และเราขอแนะนำให้ดำเนินการนี้) แต่ไม่ต้องผ่านกระบวนการตรวจสอบอย่างเป็นทางการ
เราใช้ git สำหรับรหัสและ svn สำหรับเอกสารและการจัดการโครงการ นี่เป็นข้อเสียที่เอกสารการออกแบบเพิ่มเติมบางอย่างจะไม่ "ใกล้เคียง" รหัสที่ระบุเพิ่มโอกาสที่ผู้คนลืมที่จะอัปเดต นอกจากนี้ทุกคนต้องใช้และเข้าใจเครื่องมือสองชุด ที่กล่าวว่าอาจเป็นโอกาสที่ดีในการย้ายไปยังเครื่องมือ doc แบบใช้ข้อความ (ลาเท็กซ์, markdown, HTML, อะไรก็ได้) สำหรับเอกสารการออกแบบที่ไม่ใช่ลูกค้า
เช่นเดียวกับ 1 แต่เราแฮ็ก
git lock
คำสั่งที่ทำในสิ่งที่ svn lock ทำเพื่อเรา (สลับสถานะการอ่านอย่างเดียวอย่างเหมาะสมและซิงค์กับเซิร์ฟเวอร์ผ่านวิธีการบางอย่าง)
ฉันไม่ซื้ออาร์กิวเมนต์ที่ล็อคไม่ทำงานใน DVCS เพราะระบบควรทำงานได้แม้ในขณะออฟไลน์ ล็อค Svn สามารถเขียนทับได้เช่นกัน พวกเขาเป็นกลไกการสื่อสาร หากไม่มีการเชื่อมต่อเครือข่ายคุณจะไม่สามารถสื่อสารกับคอมพิวเตอร์ได้มากนัก
เราไม่สามารถเป็นร้านเดียวที่มีความสุขมากกับsvn lock
กระบวนการทำงานที่เหมาะสมใช่ไหม?
ความคิดหรือเคล็ดลับใด ๆ
ฉันพบ/programming/119444/locking-binary-files-using-git-version-control-systemแต่การสนทนาค่อนข้างเป็นเรื่องทางเทคนิค ฉันกำลังมองหาวิธีในการแก้หรือหลีกเลี่ยงปัญหาในทางปฏิบัติของสมาชิกในทีมสองคนที่แก้ไขไฟล์ไบนารีเดียวกันในเวลาเดียวกัน