คำถามติดแท็ก dvcs

การควบคุมเวอร์ชันที่กระจายอำนาจ (DVCS) ติดตามการแก้ไขซอฟต์แวร์และช่วยให้นักพัฒนาจำนวนมากทำงานในโครงการที่กำหนดโดยไม่จำเป็นต้องเชื่อมต่อกับเครือข่ายทั่วไป

3
การตรวจสอบรหัสที่ใช้ความเห็นโค้ดเป็นความคิดที่ดีหรือไม่
ปัจจัยพื้นฐาน ทีมใช้ DVCS IDE รองรับการแยกวิเคราะห์ความคิดเห็น (เช่นสิ่งที่ต้องทำและอื่น ๆ ) เครื่องมือเช่น CodeCollaborator มีราคาแพงสำหรับงบประมาณ เครื่องมือเช่น gerrit นั้นซับซ้อนเกินไปสำหรับการติดตั้งหรือไม่สามารถใช้งานได้ ขั้นตอนการทำงาน ผู้เขียนเผยแพร่บางแห่งในสาขาฟีเจอร์ repo กลาง ผู้ตรวจทานดึงข้อมูลและเริ่มตรวจสอบ ในกรณีที่ผู้ตรวจสอบคำถาม / ปัญหาสร้างความคิดเห็นด้วยป้ายกำกับพิเศษเช่น "REV" ป้ายกำกับดังกล่าวต้องไม่อยู่ในรหัสการผลิต - เฉพาะในขั้นตอนการตรวจสอบ: $somevar = 123; // REV Why do echo this here? echo $somevar; เมื่อผู้ตรวจทานโพสต์ความคิดเห็นเสร็จ - เพียงแค่คอมเม้นต์ด้วยข้อความ "ความคิดเห็น" ที่งี่เง่าและดันกลับมา ผู้เขียนดึงฟีเจอร์แบรนช์กลับมาและตอบความคิดเห็นในลักษณะเดียวกันหรือปรับปรุงโค้ดแล้วดันกลับ เมื่อความคิดเห็น "REV" หายไปเราสามารถคิดได้ว่าการตรวจทานเสร็จสิ้นแล้ว ผู้เขียนจะทำการย่อกิ่งก้านสาขาที่มีลักษณะโต้ตอบ, กำจัดมันเพื่อลบ "ความคิดเห็น" …

7
ทำไมไม่ยอมรับการเปลี่ยนแปลงที่ไม่ได้แก้ไข?
ใน VCS แบบดั้งเดิมฉันสามารถเข้าใจได้ว่าทำไมคุณถึงไม่ยอมส่งไฟล์ที่ไม่ได้แก้ไขเพราะคุณสามารถทำลายบิลด์ อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมคุณไม่ควรส่งไฟล์ที่ไม่ได้แก้ไขใน DVCS (บางไฟล์จะป้องกันไม่ให้คุณส่งไฟล์) แต่ฉันคิดว่าที่เก็บของคุณควรถูกล็อคจากการผลักและดึงแต่ไม่ได้กระทำ ความสามารถในการส่งมอบระหว่างกระบวนการผสานมีข้อดีหลายประการ (ดังที่ฉันเห็น): การเปลี่ยนแปลงที่เกิดขึ้นจริงรวมอยู่ในประวัติศาสตร์ หากการรวมมีขนาดใหญ่มากคุณสามารถทำสัญญาเป็นระยะได้ หากคุณทำผิดพลาดมันจะง่ายกว่ามากในการย้อนกลับ (โดยไม่ต้องทำซ้ำการผสานทั้งหมด) ไฟล์อาจยังคงถูกตั้งค่าสถานะเป็นไม่ได้แก้ไขจนกว่าจะมีการทำเครื่องหมายว่าแก้ไขแล้ว สิ่งนี้จะป้องกันการผลัก / ดึง คุณอาจจะมีชุดของเซ็ตการแก้ไขทำหน้าที่เป็นผสานแทนที่จะเป็นชุดเดียว git rerereนี้จะช่วยให้คุณยังคงใช้เครื่องมือเช่น เหตุใดจึงมีการส่งไฟล์ที่ไม่ได้รับการแก้ไข / ป้องกัน? มีเหตุผลอื่นนอกเหนือจากประเพณีหรือไม่?

1
เหตุใดที่เก็บ Git / Mercurial จึงใช้พื้นที่น้อย
ฉันได้อ่านการสนทนาหลายครั้งที่นี่และเพื่อให้ที่เก็บ DVCS ใช้พื้นที่เท่ากันหรือน้อยกว่าที่เคาน์เตอร์ส่วนกลาง ฉันอาจจะพลาด แต่ฉันไม่พบคำอธิบายที่ดีว่าทำไมถึงเป็นเช่นนั้น ใครรู้บ้าง

4
ทำงานกับ Git ในหลาย ๆ เครื่อง
นี่อาจฟังดูแปลก ๆ แต่ฉันสงสัยเกี่ยวกับวิธีที่ดีในการทำงานกับ Git จากหลาย ๆ เครื่องที่เชื่อมต่อเครือข่ายเข้าด้วยกัน ดูเหมือนว่าฉันมีสองตัวเลือกและฉันเห็นประโยชน์ทั้งสองด้าน: ใช้คอมไพล์เองสำหรับการแชร์แต่ละเครื่องมี repo ของตัวเองและคุณต้องดึงมันออกมา คุณสามารถทำงานกับเครื่องใดก็ได้แม้ว่าเครื่องอื่นจะออฟไลน์ ฉันคิดว่าตัวเองใหญ่มาก ใช้หนึ่ง repo ที่แชร์ผ่านเครือข่ายระหว่างเครื่อง ไม่จำเป็นต้องทำ git pulls ทุกครั้งที่คุณสลับเครื่องเนื่องจากรหัสของคุณเป็นรุ่นล่าสุดเสมอ ไม่ต้องกังวลว่าคุณลืมส่งรหัสจากเครื่องที่ไม่โฮสต์อื่นซึ่งไม่สามารถเข้าถึงได้เนื่องจากคุณกำลังทำงานนอกสถานที่แชร์ไฟล์บนเครื่องนี้ ปรีชาญาณของฉันบอกว่าทุกคนมักจะไปกับตัวเลือกแรก แต่ข้อเสียที่ฉันเห็นคือคุณอาจไม่สามารถเข้าถึงรหัสจากเครื่องอื่น ๆ ของคุณได้เสมอไปและแน่นอนว่าฉันไม่ต้องการผลักสาขา WIP ทั้งหมดของฉันไปที่ GitHub ในตอนท้ายของทุกวัน ฉันไม่ต้องการออกจากคอมพิวเตอร์ของฉันตลอดเวลาเพื่อให้สามารถดึงข้อมูลจากพวกเขาโดยตรง ท้ายที่สุดจุดเล็ก ๆ ก็คือคำสั่ง git ทั้งหมดเพื่อให้หลายสาขาทันสมัยอยู่เสมออาจทำให้เบื่อ มีการจัดการที่สามในสถานการณ์นี้? อาจมีเครื่องมือของบุคคลที่สามบางอย่างที่ช่วยให้กระบวนการนี้ง่ายขึ้นหรือไม่ หากคุณจัดการกับสถานการณ์นี้เป็นประจำคุณแนะนำอะไร
15 git  workflows  dvcs 

11
คุณอธิบายถึงความสำคัญของการใช้ระบบควบคุมเวอร์ชัน [แบบกระจาย] กับคนที่ไม่ได้อยู่ในเขตข้อมูล CS ได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ตัวอย่างที่ดีของคนที่เหมาะกับคำอธิบายนั้นอาจเป็นผู้จัดการโครงการ เมื่อวันก่อนหัวหน้าของฉันถูกถามว่า "สิ่งนี้คืออะไร Github และทำไมมันถึงสำคัญ?" เขามีโครงการที่เป็นกรรมสิทธิ์ดังนั้นเขาจะต้องการโฮสติ้งส่วนตัวและฉันพบว่าตัวเองกำลังดิ้นรนอธิบายนอกเหนือจากปกติ: VCS ทำให้การทำงานร่วมกันเป็นเรื่องเล็กน้อยจัดทำประวัติและ "สำรองข้อมูล" ของข้อมูลทั้งหมดของคุณและอนุญาตให้คุณบันทึกการเปลี่ยนแปลงอะตอมในรหัสฐาน . ในใจของฉันฉันกำลังคิดว่า "มันเกือบจะเหมือนกับว่าคุณต้องใช้ DRVS เพื่อทำความเข้าใจว่ามันมีประโยชน์อย่างไร" ฉันลงเอยด้วยการชี้ไปที่ BitBucket เพราะพวกเขาให้ที่เก็บส่วนตัวแบบไม่ จำกัด (ฉันต้องอธิบายว่าที่เก็บคืออะไร) มีใครบ้างที่เป็นตัวอย่างที่ดีของการใช้ VCS ช่วยชีวิตพวกเขาหรือทำให้ชีวิตง่ายขึ้น ฯลฯ โดยพื้นฐานแล้วคุณจะขาย DVSC ให้กับคนที่ไม่คุ้นเคยกับการเขียนโปรแกรม แต่ไม่ใช่โปรแกรมเมอร์โดยอาชีพหรือไม่
13 dvcs 

6
มันเป็นการดีที่จะทำลายความมุ่งมั่นระดับกลางตราบใดที่ความมุ่งมั่นขั้นสุดท้ายในงานผลักดันใด ๆ ?
ที่เกี่ยวข้อง: คอมไพล์ทุกคนควรออกจากโครงการในสถานะการทำงานหรือไม่ สมมติว่าฉันทำสิ่งต่อไปนี้ในพื้นที่: ปรับเปลี่ยนสกีมาฐานข้อมูลทำให้แอปพลิเคชันหยุดทำงาน อัปเดตแอปพลิเคชันเพื่อให้เข้ากันได้กับสคีมาฐานข้อมูลอีกครั้ง ตราบใดที่ฉันผลักทั้งสองกระทำmasterยังคงอยู่ในสภาพการทำงาน อย่างไรก็ตามเวอร์ชันทางประวัติศาสตร์เสีย ฉันรู้ว่าฉันสามารถใช้git rebase -iในการสควอชคอมมิชชันด้วยกัน อย่างไรก็ตามการกระทำที่เกิดขึ้นจะมีขนาดใหญ่และอธิบายน้อยกว่า หากฉันต้องการค้นหาประวัติการส่งมอบเพื่อหาสาเหตุที่ฉันเปลี่ยนบางสิ่งบางอย่างฉันควรค้นหาคำสั่งดั้งเดิมที่แสดงสิ่งที่ฉันทำและทำไม คำถามของฉันคือ: มีใครประสบปัญหาบ้างหรือไม่เนื่องจากความผูกพันทางประวัติศาสตร์ที่แตกสลายในเจ้านาย? ถ้าเป็นเช่นนั้นมีวิธีง่ายๆในการหลีกเลี่ยงปัญหาดังกล่าวหรือไม่โดยไม่ละทิ้งบุคคลที่ส่งข้อความและเปลี่ยนแปลง?
13 git  dvcs 

4
นักพัฒนาหยุดการคอมมิชชันที่ผิดสาขาบน DVCS
ปัญหา ฉันอยู่ในโครงการซอฟต์แวร์ที่มีนักพัฒนาประมาณ 10 คนเราแบ่งปันซอร์สโค้ดผ่าน Mercurial เรามีการพัฒนาและสาขาการผลิตต่อการเปิดตัว ซ้ำแล้วซ้ำอีกในระหว่างโครงการเรามีซอร์สโค้ดจากหนึ่งสาขาคือ v1 เข้าสู่ patch และบำรุงรักษาสาขาสำหรับซอฟต์แวร์รุ่นก่อนหน้าเช่น v2 ซึ่งส่งผลให้เวลาที่ใช้ในการสำรองการกระทำผิดหรือรหัส (อาจไม่ใช่ -QAd) การเข้าถึงและการปรับใช้ในสาขาที่ไม่ถูกต้องหากเราไม่สังเกตเห็นว่ารหัสผิดไป สาขาและผสานการออกแบบ / วิธีการของเรา v1-test v1-patch1 v1-patch2 ^---------^-----------^ v1-prod / / \ \ -----------------------/ \ \ v1-dev \ \ \ --------------------------\ v2-dev \ \ \ ^-------^------------- v2-prod v2-test v2-patch1 ดังนั้นเราจะทำงานในสาขาพัฒนาการเผยแพร่จนกว่าจะถือว่าพร้อมแล้วจึงทำการปิดสาขาสำหรับการทดสอบ / UAT / สาขาการผลิตเดียวซึ่งการเผยแพร่และการบำรุงรักษาทั้งหมดเสร็จสิ้นแล้ว แท็กใช้เพื่อสร้างรุ่นของสาขานี้ …

4
ปัจจุบันระบบควบคุมเวอร์ชันแจกจ่ายอยู่ที่ไหนในรอบ hype ของ Gartner [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา แก้ไข : จากการ downvoting ล่าสุด (+ 8 / -6 ณ จุดนี้) มันชัดเจนสำหรับฉันว่าวงจรชีวิตของ Gartner เป็นตัวชี้วัดเอนเอียงจากมุมมองของโปรแกรมเมอร์ นี่คือสิ่งที่เป็นส่วนหนึ่งของบทความที่ฉันจะนำเสนอต่อฝ่ายบริหารและประเภทการจัดการเป็นส่วนหนึ่งของผู้ชมของการ์ทเนอร์ การเปิดรับ DVCS & ความกระตือรือร้น (ซึ่ง "ถือว่า" ถือว่าขัดต่อความเป็นจริงหรืออย่างน้อยก็ถูกโจมตี ) ให้คิดถึงคำถามต่อไปนี้เมื่ออ่านคำถามนี้: "ฉันจะใช้วงจร hype ของ Gartner อย่างไรเพื่อโน้มน้าวให้ฝ่ายบริหารจัดการว่า DVCS นั้นพร้อมแล้ว (หรือ พร้อมแล้ว) สำหรับเราและมันไม่ใช่แค่โฆษณา " เพียงแค่ถามว่า DVCS นั้นเป็น hype จะไม่สร้างสรรค์หรือไม่วัฏจักรของ hype ของ Gartner …
12 research  dvcs  cvcs 

2
มีความแตกต่างระหว่างการผสานใน svn เมื่อเปรียบเทียบกับ git หรือ mercurial หรือไม่?
จากความเข้าใจของฉัน SVN คือ 'ง่ายต่อการแตกสาขา ยากที่จะรวม ' ทำไมถึงเป็นอย่างนั้น? มีวิธีแตกต่างกันอย่างไร?
12 git  svn  mercurial  dvcs 

3
รูปแบบสำหรับการรวมอย่างต่อเนื่องและ DVCS
ขณะนี้เราใช้การโค่นล้มและ TeamCity เราจะย้ายไปใช้ Mercurial (โดยเฉพาะ Kiln เนื่องจากเราเป็นผู้ใช้ FogBugz) เห็นได้ชัดว่าสิ่งนี้จะส่งผลให้เกิดการเปลี่ยนแปลง - หวังว่าจะได้รับการปรับปรุง - ในรูปแบบการพัฒนาของเรา (เราสองคน!) แต่สิ่งหนึ่งที่ฉันพยายามแก้ไขคือการจัดโครงสร้างสิ่งต่าง ๆ เพื่อให้เรายังคงได้รับประโยชน์ ว่ามีและจะยังคงได้รับประโยชน์เป็นการสนทนาที่อยู่นอกขอบเขตของคำถามนี้ ) ด้วย SVN เราให้บริการพื้นที่เก็บข้อมูลส่วนกลางจำนวน จำกัด - มีประสิทธิภาพต่อหนึ่งโครงการ (หนึ่งหรือน้อยกว่าหนึ่งโซลูชัน Visual Studio) ดังนั้นจึงง่ายต่อการเปิดใช้งานบิลด์และรับความมั่นใจว่าไฟล์ทั้งหมดได้รับการยอมรับและไม่มี Stray dependencies ฯลฯ แต่ถ้าเราจะใช้ความได้เปรียบ Mercurial ที่เหมาะสมเราจะต้องการที่เก็บอินสแตนซ์ที่มากขึ้น - ที่ซึ่งฉันคาดว่าการเปลี่ยนแปลงจะไหลไปสู่ ​​repo "live" ที่ชัดเจน ปัญหาที่ฉันดิ้นรนคือ repo สดดูเหมือนว่าฉันจะ "สาย" เกินกว่าที่จะกระตุ้นให้ CI ของฉันสร้าง OTOH หนึ่ง CI …

3
Git มี "โหมดปลอดภัย" เพื่อป้องกันการเขียนประวัติใหม่หรือไม่?
เมื่อคุณสดชื่นกับ Git (และ DVCS โดยทั่วไป) และคุณเริ่มสำรวจการเปลี่ยนแปลงประวัติศาสตร์ - เขียนใหม่คุณจะปลอดภัยถ้าที่เก็บเป็นโลคัลเท่านั้น แต่คุณอาจพบปัญหาหากคุณทำงานกับรีโมทและพยายาม ผลักดันการเปลี่ยนแปลงดังกล่าว คุณลักษณะที่ฉันคาดหวังคือความสามารถในการเปิดใช้งาน "เซฟโหมด" ซึ่งโดยทั่วไปแล้วจะห้ามไม่ให้ฉันทำสิ่งที่ฉันไม่ควรทำ ... และฉันหมายความว่าอย่างไร ฉันหมายถึงการเปลี่ยนแปลงการเขียนประวัติศาสตร์ใหม่สำหรับสิ่งต่าง ๆ ที่ผลักไปที่จุดเริ่มต้นแล้ว ฉันไม่สามารถกำหนดได้อย่างแม่นยำ แต่อาจรวมถึงกรณีเช่น: commit --amend เมื่อ HEAD ถูกผลักไปแล้ว rebase ของสาขาที่ไม่ใช่ในท้องถิ่น reset ของสาขาที่ถูกผลัก เหล่านี้เป็นตัวอย่างของสถานการณ์ที่อาจทำให้เกิดความpushล้มเหลวครั้งต่อไป(เพราะจะไม่ส่งต่ออย่างรวดเร็ว IIRC) ฉันทำสิ่งนั้นโดยบังเอิญและต้องสร้างสาขาขึ้นใหม่จากระยะไกล และฉันก็ยังโชคดีที่ทำสิ่งนี้เร็วพอจนไม่มีใครดึงประวัติที่ฉันเขียนใหม่ ฉันเชื่อว่าเป็นไปได้ที่จะระบุการเปลี่ยนแปลงประเภทนี้และป้องกันไม่ให้ผู้ใช้ทำการเปลี่ยนแปลงตามความต้องการ อาจมีตัวเลือกสำหรับสิ่งนั้นหรือไม่? หากไม่มีคุณคิดว่ามันคุ้มค่าที่จะลองสร้างมันหรือไม่? คุณจะพยายามกำหนดวิธีการระบุ "การเปลี่ยนแปลงที่เป็นอันตราย" อย่างแม่นยำหรือไม่?
11 git  dvcs 

1
Git และ Mercurial พัฒนาอย่างไรในเวลาเดียวกัน
Git และ Mercurial ปฏิบัติตามโมเดลที่คล้ายกันและมีคำศัพท์ที่คล้ายคลึงกัน การเปิดตัวครั้งแรกของ Mercurial เป็นเพียง 12 วันหลังจาก Git's โครงการทั้งสองนี้ในการพัฒนาเริ่มแรกในเวลาเดียวกันจบลงอย่างไรที่คล้ายกันมาก? ไม่มีใครรู้ประวัติหรือไม่
11 git  mercurial  dvcs 

2
ทำไม DVCSes ถึงมีความหวาดกลัวอย่างไม่มีเหตุผลเกี่ยวกับการเปลี่ยนแปลงที่ไม่มีข้อผูกมัด?
มาจากพื้นหลัง SVN หนึ่งในสิ่งที่ยากที่สุดที่จะคุ้นเคยเมื่อทำงานกับระบบ DVCS คือวิธีที่พวกเขาดูเหมือนจะคำนึงถึงการเปลี่ยนแปลงใด ๆ ที่ไม่มีข้อผูกมัดใด ๆเช่นการทิ้งระเบิดเวลา ใน Mercurial ถ้าคุณพยายามดึงข้อมูลการเปลี่ยนแปลงและคุณมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดใด ๆ ในสำเนาการทำงานของคุณคุณจะต้องข้ามผ่านห่วงเพื่อให้ได้มาเพื่อรวมการเปลี่ยนแปลงที่เข้ามาลองสลับสาขาหรือไม่ มันจะบังคับให้คุณเก็บทุกอย่างแล้วคุณจะต้องยกเลิกการเก็บทุกอย่างทันที (SVN ไม่มีปัญหากับสถานการณ์เหล่านี้) Git เป็นแบบเดียวกัน ฉันทำงานเคียงข้างกับผู้พัฒนารายอื่นในโครงการและฉันแค่พยายามทำให้เชอร์รี่เลือกหนึ่งในความมุ่งมั่นของเขา มันปฏิเสธที่จะให้ฉันเพราะฉันมีข้อผูกมัดการเปลี่ยนแปลงในสำเนาการทำงานของฉันในไฟล์ที่แตกต่างอย่างสมบูรณ์กว่าการเปลี่ยนแปลงในความมุ่งมั่นของเขา ไม่มีแม้แต่ตัวเลือกการผสาน เห็นได้ชัดว่าฉันต้องซ่อนการเปลี่ยนแปลงของฉันก่อน! ถ้าคนคนหนึ่งปฏิบัติต่อสิ่งที่ไม่เป็นอันตรายอย่างสมบูรณ์ด้วยความระมัดระวังอย่างที่สุดฉันจะเรียกมันว่า "ความหวาดกลัว" ความกลัวที่ไม่มีเหตุผลที่ควรได้รับการพิจารณาว่าเป็นความผิดปกติทางจิต แต่ Git และ Mercurial ได้รับการออกแบบโดยทีมนักพัฒนาที่ชาญฉลาดและมีเหตุผลสองกลุ่มที่แตกต่างกันดังนั้นฉันจึงต้องสงสัยว่าพวกเขารู้สิ่งที่ฉันไม่ทราบหรือไม่ มีเหตุผลทางเทคนิคหรือไม่ที่แสดงให้เห็นถึงทัศนคติที่มีต่อการเปลี่ยนแปลงที่ไม่มีข้อผูกมัด? และถ้าเป็นเช่นนั้นเหตุใดปัญหาที่เป็นปัญหาจึงดูเหมือนมีอยู่ใน DVCSes เท่านั้น?

1
DVCS มีความสุขการทำซ้ำ repo ในหมู่ทีมกระจายทางภูมิศาสตร์
บริษัท ของฉันกำลังสำรวจการย้ายจาก Perforce ไปยัง DVCS และขณะนี้เราใช้พร็อกซี่ Perforce จำนวนมากเนื่องจากทีมพัฒนาซอฟต์แวร์แพร่กระจายไปทั่วเยอรมนีจีนสหรัฐอเมริกาและเม็กซิโกและบางครั้งแบนด์วิดท์จากที่หนึ่งไปอีกที่ไม่ดีนัก พูดกับมันเราเริ่มมองหาวิธีที่จะให้สิ่งที่ทำงานได้อย่างราบรื่นจากมุมมองของการกระจายทางภูมิศาสตร์เพื่อให้ทุกคนที่ได้รับล่าสุดและยิ่งใหญ่โดยไม่ต้องกำหนดสิ่งที่ repo เซิร์ฟเวอร์เป็นแหล่งที่มาของความจริง (เช่นการจำลองโปร่งใส ) ผมคิดว่าบางทีเราอาจจะเลียนแบบกลไก DNS ผ่านก่อนผลักดันและตะขอดึงล่วงหน้า ตัวอย่างเช่นให้พิจารณาประเทศ A, B และ C เมื่อดึงออกมาจากการได้รับพร A จะดึงการเปลี่ยนแปลงจาก B ซึ่งจะดึงการเปลี่ยนแปลงใน C หาก B และ C มีการเปลี่ยนแปลงใหม่พวกเขาจะตกไปที่ A ในทางกลับกันเมื่อมีการผลักดันก็สามารถแพร่กระจายไปยังที่เก็บข้อมูลที่มีความสุขทั้งหมด ฉันทราบว่าโดยทั่วไปคุณมี repo ที่ได้รับพรเพียงแห่งเดียวอย่างไรก็ตามนี่อาจไม่ได้เพิ่มขึ้นทั่วโลกและที่เก็บที่มีความสุขแต่ละแห่งนั้นจะสามารถใช้ได้กับทีมจากประเทศเดียว คำถามของฉันคือ : ความคิดของการทำซ้ำ DVCS repo สิ่งที่ใช้ในทางปฏิบัติหรือไม่มีใครทำมันสำเร็จหรือไม่ถ้าเป็นเช่นนั้นวิธีที่ถูกต้องที่จะทำคืออะไร?

3
dvcs - "โคลนไปที่สาขา" เป็นเวิร์กโฟลว์ทั่วไปหรือไม่
ฉันเพิ่งพูดคุย dvcs กับเพื่อนร่วมงานเนื่องจากสำนักงานของเราเริ่มพิจารณาเปลี่ยนจาก TFS (เราเป็นร้าน MS) ในกระบวนการฉันสับสนมากเพราะเขาบอกว่าแม้ว่าเขาจะใช้ Mercurial เขาไม่เคยได้ยินคำสั่ง "สาขา" หรือ "ชำระเงิน" และข้อกำหนดเหล่านี้ไม่คุ้นเคยกับเขา หลังจากสงสัยว่ามันเป็นไปได้อย่างไรที่เขาไม่ทราบเกี่ยวกับพวกเขาและอธิบายว่า dvcs ทำงานอย่างไร "แทนที่" ในไฟล์ภายในเครื่องของคุณเขาค่อนข้างสับสน เขาอธิบายว่าคล้ายกับวิธีการทำงานของ TFS เมื่อเขาต้องการสร้าง "สาขา" ที่เขาทำโดยการโคลนดังนั้นเขาจึงมีสำเนาทั้งหมดของ repo ของเขา สิ่งนี้ดูแปลกสำหรับฉัน แต่ประโยชน์ที่ฉันต้องยอมรับก็คือคุณสามารถดูหรือทำงานสองสาขาพร้อมกันเพราะไฟล์แยกกัน ในการค้นหาไซต์นี้เพื่อดูว่ามีการถามก่อนที่ฉันจะเห็นความคิดเห็นหรือไม่ว่าแหล่งข้อมูลออนไลน์จำนวนมากส่งเสริมวิธีการ "โคลนถึงสาขา" นี้เพื่อลดความโปสเตอร์ นี่เป็นเรื่องธรรมดาในชุมชน dvcs หรือไม่ และข้อดีและข้อเสียของวิธีนี้คืออะไร ฉันไม่เคยทำเลยเพราะฉันไม่จำเป็นต้องเห็นหลายสาขาพร้อมกันการสลับเร็วและฉันไม่ต้องการโคลนทั้งหมดที่เติมดิสก์ของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.