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

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

10
ฉันเป็นคนโค่นล้มเพราะเหตุใดฉันจึงควรพิจารณาหรือไม่พิจารณา Mercurial หรือ Git หรือ DVCS อื่น ๆ
ฉันพยายามเข้าใจถึงประโยชน์ของระบบควบคุมรุ่นแจกจ่าย (DVCS) ฉันพบว่าการโค่นล้ม Re-educationและบทความนี้โดยMartin Fowlerมีประโยชน์มาก Mercurial และ DVCS อื่น ๆ โปรโมตวิธีใหม่ในการทำงานกับโค้ดด้วยเซ็ตการแก้ไขและการคอมมิชชันท้องถิ่น มันป้องกันการรวมนรกและปัญหาการทำงานร่วมกันอื่น ๆ เราไม่ได้รับผลกระทบจากสิ่งนี้เนื่องจากฉันฝึกการรวมกลุ่มอย่างต่อเนื่องและทำงานคนเดียวในสาขาเอกชนไม่ใช่ตัวเลือกเว้นแต่ว่าเรากำลังทำการทดลอง เราใช้สาขาสำหรับทุกรุ่นสำคัญซึ่งเราจะแก้ไขข้อบกพร่องที่รวมเข้ากับลำต้น Mercurial อนุญาตให้คุณมีผู้หมวด ฉันเข้าใจว่าสิ่งนี้มีประโยชน์สำหรับโครงการขนาดใหญ่มากเช่น Linux แต่ฉันไม่เห็นคุณค่าในทีมขนาดเล็กและการทำงานร่วมกันสูง (5 ถึง 7 คน) Mercurial เร็วกว่าใช้พื้นที่ดิสก์น้อยลงและการทำสำเนาโลคัลเต็มรูปแบบช่วยให้สามารถบันทึกและดำเนินการได้เร็วขึ้น ฉันไม่ได้กังวลเรื่องนี้เช่นกันเนื่องจากฉันไม่ได้สังเกตเห็นความเร็วหรือปัญหาเกี่ยวกับพื้นที่ของ SVN แม้ว่าจะมีโครงการขนาดใหญ่มากที่ฉันกำลังทำงานอยู่ ฉันกำลังมองหาประสบการณ์ส่วนตัวและ / หรือความคิดเห็นของคุณจากอดีต SVN โดยเฉพาะอย่างยิ่งเกี่ยวกับแนวคิดเซ็ตการแก้ไขและประสิทธิภาพโดยรวมที่คุณวัดได้ UPDATE (วันที่ 12 มกราคม) : ตอนนี้ฉันเชื่อว่ามันคุ้มค่าที่จะลอง UPDATE (12 มิ.ย. ) : ฉันจูบ Mercurial และฉันชอบมัน รสชาติของเชอร์รี่ท้องถิ่นของเขามุ่งมั่น ฉันจูบ …

7
มีทางเลือกโอเพนซอร์ซสำหรับ Bitbucket, Github, Kiln และเครื่องมือเรียกดูและจัดการ DVCS ที่คล้ายกันหรือไม่ [ปิด]
ฉันรู้เครื่องมือต่างๆ / บริการที่ให้การท่องเว็บและการจัดการ DVCS เช่นBitbucket , Github , เตาเผา , SCM-ManagerและRhodecode อย่างไรก็ตามกรณีการใช้งานที่ฉันกำลังพิจารณานั้นเป็นสิ่งหนึ่งที่: ซอร์สโค้ดใด ๆ จะต้องอยู่ในเซิร์ฟเวอร์ภายในของนายจ้าง การแก้ปัญหาจะต้องเป็นโอเพนซอร์ส ควรให้ประสบการณ์เช่น Bitbucket หรือ Github รวมถึงวิกิโครงการการเรียกดูและการจัดการพื้นที่เก็บข้อมูลและการเข้ารหัสทางสังคมเช่นการตรวจสอบรหัส วิธีแก้ปัญหาควรมีการสนับสนุนแบบ Mercurial (หากไม่รองรับ DVCS อื่น ๆ ) ในจำนวนนี้มีเพียง SCM-Manager และ RhodeCode เท่านั้นที่เข้ามาใกล้เพราะสามารถติดตั้งบนเซิร์ฟเวอร์ของคุณเองและเป็นโอเพ่นซอร์ส อย่างไรก็ตามพวกเขาไม่มีประสบการณ์ Bitbucket หรือ Github ไม่มีตัวติดตามปัญหาหรือ wiki และ UI ในขณะที่ใช้งานได้ไม่สามารถเทียบเท่ากับ Github หรือ Bitbucket ได้ ฉันสามารถเข้าใกล้กับ Trac หรือ Redmine …

7
ทำไมหลาย ๆ โครงการจึงชอบที่จะ“ git rebase” มากกว่า“ git merge”?
ข้อดีอย่างหนึ่งของการใช้ DVCS คือเวิร์กโฟลว์edit-commit-merge (การแก้ไขมากกว่าการผสานผสานกระทำบ่อยครั้งบังคับใช้โดย CVCS) การอนุญาตให้บันทึกการเปลี่ยนแปลงที่ไม่ซ้ำกันแต่ละครั้งในที่เก็บซึ่งเป็นอิสระจากการรวมกันทำให้มั่นใจได้ว่าDAGสะท้อนถึงสายเลือดที่แท้จริงของโครงการอย่างถูกต้อง ทำไมเว็บไซต์จำนวนมากถึงพูดถึงความต้องการที่จะ "หลีกเลี่ยงการรวมคอมมิท"? การไม่รวมการกระทำก่อนหน้าหรือการทำโพสต์ใหม่เข้าด้วยกันทำให้ยากต่อการแยกการถดถอยการย้อนกลับการเปลี่ยนแปลงที่ผ่านมา ฯลฯ จุดชี้แจง:พฤติกรรมเริ่มต้นสำหรับ DVCS คือการสร้างการรวมการกระทำ ทำไมหลายสถานที่พูดถึงความปรารถนาที่จะเห็นประวัติศาสตร์การพัฒนาเชิงเส้นที่ซ่อนการกระทำเหล่านี้ไว้?

8
คุณสามารถแนะนำเทมเพลต / แนวทางการส่งข้อความที่ดีเพื่อบังคับใช้ใน บริษัท ได้หรือไม่? [ปิด]
ใน Git เป็นไปได้ที่จะตั้งค่าและบังคับใช้เทมเพลตการคอมมิท คุณสามารถแนะนำเทมเพลต / แนวทางปฏิบัติที่ดีเพื่อบังคับใช้ใน บริษัท ได้หรือไม่?

12
DVCSes ไม่สนับสนุนการรวมอย่างต่อเนื่องหรือไม่?
บอกว่ามีทีมนักพัฒนาสิบคนที่คล่องแคล่ว ทุกวันพวกเขาแต่ละคนเลือกงานจากคณะกรรมการดำเนินการเปลี่ยนแปลงหลายอย่างจนกระทั่งพวกเขาเสร็จสิ้นภารกิจ (ภายในสิ้นวัน) นักพัฒนาทั้งหมดเช็คอินกับ trunk โดยตรง (สไตล์ Google ทุกการคอมมิทเป็นตัวเลือกรีลีสโดยใช้ฟีเจอร์สลับ ฯลฯ ) หากพวกเขาใช้ CVS ส่วนกลางเช่น SVN ทุกครั้งที่พวกเขาคอมไพล์เซิร์ฟเวอร์บิลด์จะรวมและทดสอบการเปลี่ยนแปลงกับงานของนักพัฒนาอีกเก้าคน บิลด์เซิร์ฟเวอร์จะทำงานค่อนข้างต่อเนื่องตลอดทั้งวัน แต่ถ้าพวกเขาใช้ DCVS เหมือนคอมไพล์ผู้พัฒนาอาจรอจนกว่าพวกเขาจะทำงานให้เสร็จก่อนที่จะผลักดันคอมมิชชันท้องถิ่นของพวกเขาทั้งหมดไปยังที่เก็บส่วนกลาง การเปลี่ยนแปลงของพวกเขาจะไม่ถูกรวมเข้าด้วยกันจนกระทั่งสิ้นสุดวัน ในสถานการณ์สมมตินี้ทีม SVN จะรวมกันอย่างต่อเนื่องบ่อยขึ้นและค้นพบปัญหาการรวมเร็วกว่าทีม git นี่หมายความว่า DVCS นั้นไม่เหมาะสำหรับทีมต่อเนื่องมากกว่าเครื่องมือรวมศูนย์แบบเก่าหรือไม่ พวกคุณรู้ปัญหานี้ได้อย่างไร

5
ฉันเป็นผู้ใช้คอมไพล์สับสนโดยการแตกแขนงของ Mercurial ฉันจะติดตามการเปลี่ยนแปลงเล็กน้อยได้อย่างไร
ฉันเคยใช้คอมไพล์มาก่อน แต่ฉันต้องการมีส่วนร่วมกับไพ ธ อนดังนั้นตอนนี้ฉันต้องเรียนรู้ Mercurial และฉันพบว่ามันน่าหงุดหงิดมาก ดังนั้นฉันจึงทำแผ่นแปะเล็ก ๆ สองสามชิ้นและฉันต้องการติดตามพวกเขาในคอมมิชชัน Mercurial Repository เห็นได้ชัดว่ามี4 วิธีที่จะจัดการกับการแตกแขนงในปรอท 1 และ 4 ดูไร้สาระอย่างสมบูรณ์สำหรับฉันสาขาชื่อดูเหมือนจะมีน้ำหนักมากและฉันรู้สึกว่าฉันไม่ควรใช้พวกเขาสำหรับการแก้ไข 1 คอมมิชชันที่รวดเร็วดังนั้นฉันจึงใช้บุ๊กมาร์ก ตอนนี้แพทช์ของฉันถูกปฏิเสธและฉันต้องการลบสาขาบุ๊กมาร์กของฉันจากที่เก็บของฉัน ตกลงใน git ฉันจะบังคับลบสาขาของฉันและลืมมันดังนั้นฉันลบบุ๊คมาร์คของฉันและตอนนี้ฉันมีปัญหาต่อไปนี้: TortoiseHG และhg logยังคงแสดงให้เห็นว่าการกระทำและdefaultสาขามี 2 หัว และถ้าฉันเข้าใจถูกต้องคุณจะไม่สามารถลบการคอมมิทเป็น hg หากไม่มีปลั๊กอินเพิ่มเติม Mercurial ไม่เพียง แต่แฮช แต่ยังปรับปรุงหมายเลข ในขณะที่ฉันเพิ่มความมุ่งมั่นของตัวเองสองสามข้อความมุ่งมั่นทั้งหมดที่ดึงมาหลังจากนั้นมีหมายเลขการแก้ไขที่แตกต่างจาก repo ส่วนกลางหลัก ฉันhg updateดึงหลังจากย้ายmasterบุ๊กมาร์กของฉันไปยังการคอมมิชชันล่าสุดโดยอัตโนมัติ แต่ฉันไม่สามารถหาวิธีที่จะทำได้ใน TortoiseHG ผมทำอะไรผิดหรือเปล่า? นี่เป็นเรื่องปกติและคาดหวังและฉันควรจะเพิกเฉยต่อปัญหาเหล่านี้หรือไม่ หรือฉันจะทำงานกับสาขาของฉันได้อย่างไร

6
การผสาน SVN นั้นยากขนาดไหน
สำเนาซ้ำที่เป็นไปได้: ฉันเป็นผู้ที่ถูกโค่นล้มทำไมฉันจึงควรพิจารณาหรือไม่พิจารณา Mercurial หรือ Git หรือ DVCS อื่น ๆ ทุกครั้งที่คุณได้ยินคนพูดว่าการควบคุมเวอร์ชันแบบกระจาย (Git, HG) นั้นดีกว่าการควบคุมเวอร์ชั่นแบบรวมศูนย์ (เช่น SVN) เนื่องจากการรวมกันนั้นยากและเจ็บปวดใน SVN สิ่งนี้คือฉันไม่เคยมีปัญหาใด ๆ กับการรวมใน SVN และเนื่องจากคุณเคยได้ยินการอ้างสิทธิ์ที่ทำโดยผู้สนับสนุน DVCS และไม่ใช่ผู้ใช้ SVN จริงมันมีแนวโน้มที่จะเตือนฉันเกี่ยวกับโฆษณาที่น่ารังเกียจบนทีวีที่พวกเขา พยายามขายสิ่งที่คุณไม่ต้องการโดยให้นักแสดงทำผิดพลาดแสร้งทำเป็นว่าสิ่งที่คุณมีอยู่แล้วและใช้งานได้ดีใช้ยากอย่างไม่น่าเชื่อ และกรณีการใช้งานที่นำขึ้นมาอย่างสม่ำเสมอคือการรวมสาขาอีกครั้งหนึ่งซึ่งทำให้ฉันนึกถึงโฆษณาผลิตภัณฑ์ฟางแมนอีกครั้ง หากคุณรู้ว่าคุณกำลังทำอะไรคุณไม่ควร (และไม่ควรต้อง) รวมสาขาในตอนแรก (แน่นอนว่ามันยากที่จะทำเมื่อคุณทำอะไรผิดพลาดและไร้สาระ!) ดังนั้นการลดกรณีการใช้ชาวฟางที่ไร้สาระมีอะไรบ้างในการรวม SVN ที่ยากกว่าการรวมในระบบ DVCS โดยรวม
28 git  svn  mercurial  dvcs  merging 

11
กรณีศึกษาทางธุรกิจสำหรับระบบควบคุมรุ่นที่กระจายอำนาจ
ฉันค้นหาและไม่สามารถหาเหตุผลทางธุรกิจใด ๆ ได้ว่าทำไมระบบ git / mercurial / bazzr จึงดีกว่าระบบรวมศูนย์ (การโค่นล้มการบังคับใช้) ถ้าคุณกำลังพยายามที่จะขาย DVCS ไปยังบุคคลที่ไม่ใช่ทางด้านเทคนิคสิ่งที่ข้อโต้แย้งที่คุณจะจัดให้มีการ DVCS กำไรที่เพิ่มขึ้น ฉันจะขว้างคอมไพล์ให้กับผู้จัดการของฉันในไม่ช้ามันจะใช้เวลาสักครู่ในการแปลงคลังเก็บโค่นล้มและค่าใช้จ่ายในการซื้อใบอนุญาต smartgit แก้ไขฉันพยายามทำให้คำถามนี้เป็นการสนทนาทั่วไปเกี่ยวกับการรวมศูนย์และการกระจายอำนาจ แต่ก็หลีกเลี่ยงไม่ได้ที่จะกลายเป็นการโค่นล้มของ Git vs แน่นอนว่ามีระบบรวมศูนย์ที่ดีกว่าการโค่นล้ม

6
ประวัติรุ่นเป็นสิ่งที่ศักดิ์สิทธิ์จริง ๆ หรือดีกว่าที่จะรีบูต?
ฉันเห็นด้วยเสมอกับมนต์ของ Mercurial 1อย่างไรก็ตามตอนนี้ Mercurial มาพร้อมกับส่วนขยายการปฏิเสธและเป็นวิธีปฏิบัติที่นิยมในคอมไพล์ฉันสงสัยว่ามันอาจจะถือว่าเป็น "การปฏิบัติที่ไม่ดี" หรืออย่างน้อยก็ ไม่ดีพอที่จะหลีกเลี่ยงการใช้ ไม่ว่าในกรณีใดฉันรู้ว่าการรีบูตเป็นอันตรายหลังจากการผลัก OTOH ฉันเห็นจุดของการพยายามทำแพ็คเกจ 5 ที่กระทำในอันเดียวเพื่อทำให้มันดู niftier (โดยเฉพาะในสาขาการผลิต) อย่างไรก็ตามโดยส่วนตัวฉันคิดว่าจะดีกว่าถ้าได้เห็นบางส่วนที่ทำหน้าที่บางอย่าง การทดลองเสร็จสิ้นแม้ว่าจะไม่ได้ดี แต่การเห็นบางสิ่งเช่น "พยายามทำวิธีที่ X แต่ไม่เหมาะสมเท่ากับ Y หลังจากทั้งหมดการทำ Z ที่ใช้ Y เป็นฐาน" IMHO มีคุณค่าต่อผู้เรียน codebase และติดตามการพัฒนาความคิด ทัศนะของฉัน (ในแง่โง่, เกี่ยวกับอวัยวะภายใน, เอนเอียง) คือโปรแกรมเมอร์ที่ชอบลดการซ่อนข้อผิดพลาด ... และฉันไม่คิดว่ามันดีสำหรับโครงการเลย ดังนั้นคำถามของฉันคือ: คุณพบว่ามีค่าจริงๆที่จะมี "การกระทำอินทรีย์" (เช่นประวัติที่ไม่ได้รับการแก้ไข) ในทางปฏิบัติหรือไม่หรือตรงกันข้ามคุณชอบที่จะพบกับความมุ่งมั่นที่ดีและไม่สนใจกระบวนการทดลอง แล้วแต่อย่างใดอย่างหนึ่งที่คุณเลือกเหตุผลที่ไม่ทำงานสำหรับคุณ? (ให้สมาชิกในทีมคนอื่น ๆ เก็บประวัติหรืออีกทางหนึ่งคือรีบูทมัน) 1ต่อการวิเคราะห์ของ Google DVCSใน …
26 git  mercurial  dvcs 

4
เรากำลังโค่นล้ม Geeks และเราต้องการทราบประโยชน์ของ Mercurial [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา มีอ่านฉัน geek โค่นล้มทำไมฉันจึงควรพิจารณาหรือไม่พิจารณา Mercurial หรือ Git หรือ DVCS ฉันมีคำถามติดตามที่เกี่ยวข้อง ฉันอ่านคำถามนั้นและอ่านลิงก์และวิดีโอที่แนะนำและฉันเห็นประโยชน์ แต่ฉันไม่เห็นภาพรวมผู้คนที่กำลังพูดถึง ทีมงานของเรามีนักพัฒนา 8-10 คนที่ทำงานบนฐานรหัสขนาดใหญ่หนึ่งโครงการซึ่งประกอบด้วย 60 โครงการ เราใช้การโค่นล้มและมีลำตัวหลัก เมื่อนักพัฒนาเริ่มกรณี Fogbugz ใหม่พวกเขาสร้างสาขา svn ทำผลงานในสาขาและเมื่อพวกเขาทำเสร็จพวกเขารวมกลับไปที่ลำต้น บางครั้งพวกเขาอาจอยู่ในสาขาเป็นเวลานานและรวมลำตัวกับสาขาเพื่อรับการเปลี่ยนแปลง เมื่อฉันดู Linus พูดคุยเกี่ยวกับผู้คนที่สร้างสาขาและไม่เคยทำมันอีกครั้งนั่นไม่ใช่พวกเราเลย เราอาจสร้างสาขา 50-100 สาขาต่อสัปดาห์โดยไม่มีปัญหา ความท้าทายที่ยิ่งใหญ่ที่สุดคือการรวมกัน แต่เราก็ทำได้ดีเช่นกัน ฉันมักจะรวมกับกรณี Fogbugz & เช็คอินมากกว่ารากทั้งหมดของสาขา เราไม่เคยทำงานจากระยะไกลและเราไม่เคยแยกสาขาออกจากกัน หากคุณเป็นเพียงคนเดียวที่ทำงานในส่วนของฐานรหัสแล้วการผสานไปยังลำต้นจะราบรื่น หากมีคนอื่นแก้ไขโค้ดในส่วนเดียวกันการผสานอาจทำให้ยุ่งและคุณอาจต้องทำการผ่าตัด ความขัดแย้งเป็นความขัดแย้งฉันไม่เห็นว่าระบบใดสามารถทำให้ถูกต้องได้ตลอดเวลาเว้นแต่ว่าฉลาดพอที่จะเข้าใจรหัส หลังจากสร้างสาขาการชำระเงินไฟล์ 60k + ต่อไปนี้ใช้เวลาสักครู่ …
22 git  svn  mercurial  dvcs 

6
ปวดหัวโดยใช้การควบคุมเวอร์ชันแบบกระจายสำหรับทีมดั้งเดิม?
แม้ว่าฉันจะใช้และชอบ DVCS สำหรับโครงการส่วนบุคคลของฉันและสามารถเห็นได้อย่างชัดเจนว่ามันช่วยให้คุณจัดการการสนับสนุนโครงการของคุณจากผู้อื่นได้ง่ายขึ้น (เช่นสถานการณ์ Github ทั่วไปของคุณ) แต่ดูเหมือนว่าสำหรับทีม "ดั้งเดิม" อาจมีปัญหามากกว่า วิธีการรวมศูนย์ที่ใช้งานโดยโซลูชันเช่น TFS, Perforce เป็นต้น (โดย "ดั้งเดิม" ฉันหมายถึงทีมนักพัฒนาในสำนักงานที่ทำงานในโครงการหนึ่งที่ไม่มีใคร "เป็นเจ้าของ" โดยทุกคนอาจสัมผัสรหัสเดียวกัน) ปัญหาเหล่านี้สองสามอย่างที่ฉันเห็นล่วงหน้าด้วยตัวเอง แต่โปรดพูดสอดแทรกกับข้อควรพิจารณาอื่น ๆ ในระบบดั้งเดิมเมื่อคุณพยายามตรวจสอบการเปลี่ยนแปลงของคุณในเซิร์ฟเวอร์หากมีคนอื่นตรวจสอบก่อนหน้านี้ในการเปลี่ยนแปลงที่ขัดแย้งกันแล้วคุณจะถูกบังคับให้รวมก่อนที่คุณจะสามารถตรวจสอบของคุณในรุ่น DVCS นักพัฒนาแต่ละคนตรวจสอบ การเปลี่ยนแปลงในท้องถิ่นและในบางจุดผลักไปที่ repo อื่น ๆ repo นั้นมีสาขาของไฟล์นั้นที่ 2 คนเปลี่ยน ดูเหมือนว่าตอนนี้บางคนต้องรับผิดชอบในการจัดการกับสถานการณ์นั้น บุคคลที่ได้รับมอบหมายในทีมอาจไม่มีความรู้เพียงพอเกี่ยวกับ codebase ทั้งหมดเพื่อให้สามารถจัดการกับการรวมความขัดแย้งทั้งหมด ดังนั้นตอนนี้จึงมีการเพิ่มขั้นตอนพิเศษที่บางคนต้องเข้าหาหนึ่งในผู้พัฒนาบอกให้เขาดึงและทำการรวมแล้วกดอีกครั้ง (หรือคุณต้องสร้างโครงสร้างพื้นฐานที่ทำงานโดยอัตโนมัติ) นอกจากนี้เนื่องจาก DVCS มีแนวโน้มที่จะทำงานในพื้นที่ให้สะดวกจึงมีความเป็นไปได้ที่นักพัฒนาจะสามารถสะสมการเปลี่ยนแปลงบางอย่างใน repos ท้องถิ่นของพวกเขาก่อนที่จะผลักดันทำให้ความขัดแย้งดังกล่าวเป็นเรื่องธรรมดาและซับซ้อนมากขึ้น เห็นได้ชัดว่าถ้าทุกคนในทีมทำงานได้เฉพาะในส่วนต่าง ๆ ของรหัสนี่ไม่ใช่ปัญหา แต่ฉันอยากรู้เกี่ยวกับกรณีที่ทุกคนทำงานกับรหัสเดียวกัน ดูเหมือนว่ารูปแบบการรวมศูนย์บังคับให้เกิดความขัดแย้งที่จะได้รับการจัดการอย่างรวดเร็วและบ่อยครั้งลดความจำเป็นในการรวมตัวที่ใหญ่โตเจ็บปวดหรือมีใคร "ตำรวจ" เป็นตัวแทนหลัก …

4
มีข้อได้เปรียบในการใช้ DVCS สำหรับนักพัฒนาเดี่ยวหรือไม่
ตอนนี้ฉันใช้ svn แสดงผลบนเซิร์ฟเวอร์ของฉันและมี ankhsvn / เต่าบนเครื่องส่วนตัวของฉัน มันทำงานได้ดีพอและฉันไม่ต้องเปลี่ยน แต่ถ้าฉันเห็นประโยชน์บางประการของการใช้ DVCS ฉันก็อาจจะเลิกได้ อย่างไรก็ตามหากไม่มีจุดหรือความแตกต่างในการใช้งานโดยไม่มีคนอื่นฉันจะไม่รบกวน ดังนั้นฉันถามอีกครั้งมีประโยชน์ใด ๆ ในการใช้ DVCS เมื่อคุณเป็นนักพัฒนาซอฟต์แวร์คนเดียวหรือไม่?

3
การแตกกิ่งแยกการบูรณาการอย่างต่อเนื่อง?
ฉันคิดว่าบทความนี้เป็นโมเดลการแยกสาขาที่ประสบความสำเร็จเป็นที่รู้จักกันดีในหมู่ผู้ใช้ DVCS ที่มีประสบการณ์ ฉันใช้hgเป็นส่วนใหญ่ แต่ฉันจะโต้แย้งการอภิปรายนี้เป็นสิ่งที่ดีสำหรับ DVCS ใด ๆ เวิร์กโฟลว์ปัจจุบันของเราคือผู้พัฒนาแต่ละคนลอกแบบต้นแบบธุรกรรมซื้อคืน เราเขียนโค้ดลงบน repo ในพื้นที่ของเราเองทำการทดสอบและถ้าทุกอย่างเข้ากันได้ดีกับมาสเตอร์ ดังนั้นเราจึงต้องการติดตั้งเซิร์ฟเวอร์ CI เช่น Jenkins และปรับปรุงขั้นตอนการทำงานของเราด้วยระบบการจัดเตรียมในอนาคต ส่วนจริง แบบจำลองดังกล่าวข้างต้นใช้งานได้ดี แต่กิ่งสามารถทำลาย CI ได้ สาขาฟีเจอร์ควรซิงค์กับจุดเริ่มต้น (ตามบทความมันจะเป็นdevelopmentสาขา) เพื่อทำให้ CI และการผสานราบรื่นใช่ไหม? Say Alice และ Bob กำลังทำงานกับคุณสมบัติสองอย่าง แต่อลิซเสร็จในวันรุ่งขึ้น คุณสมบัติของ Bob ใช้เวลาหนึ่งสัปดาห์ เมื่อถึงเวลาที่บ๊อบเสร็จสิ้นการเปลี่ยนแปลงของเขาล้าสมัย (อาจจะมีการปรับโครงสร้างใหม่ / เปลี่ยนชื่อคลาสบางส่วน) ทางออกหนึ่งคือนักพัฒนาทุกเช้าต้องดึงmaster/originเพื่อตรวจสอบว่ามีการเปลี่ยนแปลงหรือไม่ หากอลิซส่งมอบบ๊อบควรดึงและรวมเข้าไปในพื้นที่ทำงานของเขาเพื่อให้ฟีเจอร์สาขาของเขาทันสมัย นี่เป็นวิธีที่ดีหรือไม่? ควรสาขาเหล่านี้มีอยู่ใน repo หลัก (ไม่ใช่โคลนแบบโลคอลหรือไม่) ความหมายของนักพัฒนาทุกคนควรให้สิทธิพิเศษแก่ repo หลักใน …

17
เหตุใดฉันจึงควรเขียนข้อความยืนยัน?
เหตุใดฉันจึงควรเขียนข้อความยืนยัน? ฉันไม่ต้องการและฉันคิดว่ามันโง่ทุกครั้ง ส่วนหน้า GUI ฉันใช้ซึ่งจะบังคับให้คุณทำมัน ฉันได้ยินคนอื่นทำทุกครั้งแม้ว่าพวกเขาจะใช้ VCS ในบรรทัดคำสั่ง หากฉันส่งมอบวันละหลายครั้ง แต่ยังไม่เสร็จฉันจะเขียนเกี่ยวกับคุณสมบัติอะไร? ฉันเคยเขียนข้อความหลังจากหลายคนยอมรับและฉันรู้สึกว่าถึงเวลาสำหรับมินิแท็กหรือเมื่อฉันทำแท็กจริง ฉันถูกหรือว่าฉันทำอะไรหายไป? ฉันยังใช้ระบบกระจาย

4
เวิร์กโฟลว์: การใช้รูปแบบเอกสารไบนารีใน Git โดยไม่ล็อค (ย้ายจากการโค่นล้ม)
เราเป็นที่ปรึกษาด้านซอฟต์แวร์ที่มีโครงการมากมายสำหรับลูกค้าที่แตกต่างกัน เราใช้การโค่นล้มแบบดั้งเดิม แต่ขณะนี้กำลังพิจารณาที่จะย้ายไป Git ส่วนสำคัญของเอกสารที่เราผลิตนั้นจะถูกแบ่งปันกับลูกค้าของเรา (ความต้องการ, การออกแบบระดับโลก, รายละเอียดการทดสอบ, ฯลฯ ) และเราใช้ MS Office เพื่อผลิตสิ่งเหล่านี้ ในการโค่นล้มเราสามารถใช้คุณสมบัติ "ล็อค" เพื่อให้แน่ใจว่าไม่มีใครแก้ไขเอกสารเดียวกันในเวลาเดียวกัน ใน Git คุณไม่สามารถทำเช่นนั้นได้เนื่องจากลักษณะการกระจายของมัน Git ไม่มีการล็อค ล็อคเป็นมากกว่ากลไกการสื่อสารเพียงเล็กน้อย แต่มันมีประสิทธิภาพมาก ปัจจุบันรหัสของเราและเอกสารที่ต้องพบกับลูกค้ามักอยู่ในโฟลเดอร์ย่อยที่แตกต่างกันของที่เก็บ svn ที่แตกต่างกัน เมื่อย้ายไปคอมไพล์คุณอยากแนะนำอะไรให้เราทำ? ฉันเห็นชุดตัวเลือก: เราย้ายที่เก็บ svn ไปที่ git 1-on-1 แทนที่จะใช้การล็อกไฟล์ Office เราทำในสิ่งที่คน git แนะนำและพยายามเปลี่ยนเวิร์กโฟลว์ของเราเพื่อแก้ไข สิ่งนี้อาจทำงานได้ในสาขาในการแก้ไขเอกสารใด ๆ และรวมเข้ากับการตรวจสอบ วิธีนี้แบ่งออกเป็นเช่นแผ่นงาน Excel ที่มีข้อมูลการจัดการโครงการ พวกเขาแก้ไขได้อย่างง่ายดายโดยสมาชิกในทีม (และเราขอแนะนำให้ดำเนินการนี้) แต่ไม่ต้องผ่านกระบวนการตรวจสอบอย่างเป็นทางการ เราใช้ git …
16 git  svn  dvcs  excel  word 

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