คำถามติดแท็ก version-control

วินัยการเขียนโปรแกรมสำหรับการติดตามการจัดเก็บและการเรียกคืนการแก้ไขของรหัสที่มา

2
วิธีที่แนะนำในการแยกการพัฒนาในปัจจุบันออกจากการพัฒนาการบำรุงรักษาในซอฟต์แวร์ควบคุมเวอร์ชันคืออะไร
ฉันมีแอปพลิเคชั่นซอฟต์แวร์บางตัวที่จัดการโดยใช้ Git ฉันเพิ่งเปิดตัวรุ่นใหม่ 2.x ซึ่งฉันวางแผนที่จะรักษาในระยะยาว (แก้ไขข้อผิดพลาดส่วนใหญ่) ในระหว่างนี้ฉันอยากเริ่มทำงานกับเวอร์ชัน 3.x วิธีที่แนะนำในการจัดการสิ่งนี้คืออะไร? ฉันควรสร้างสาขาสำหรับเวอร์ชัน 2.x และมีการพัฒนา 3.x บนต้นแบบหรือไม่? หรือวิธีอื่น ๆ ?

3
BitBucket อะไรที่จับได้? (TANSTAAFL ใช่ไหม?)
ความสามารถของ BitBucket และการกำหนดราคา (สูงสุด 5 ผู้ใช้ได้ฟรี) ทำให้ฉันสงสัยว่าสิ่งที่จับได้คือ ... ไม่มีสิ่งใดเป็นอาหารกลางวันฟรีหลังจากทั้งหมด BitBucket คืออะไรจากการเข้าร่วมที่ไม่ได้รับค่าจ้างของฉันนอกจากคนหล่อที่จะรวมไว้ในสื่อส่งเสริมการขายอย่างอิสระ (ตาม TOS)

9
วิธีที่ดีที่สุดสำหรับฉันในการเริ่มต้นใช้การควบคุมเวอร์ชันในโครงการ opensource คืออะไร
มีข้อเสนอแนะว่าฉันนำโครงการโอเพ่นซอร์สของฉันเนื่องจากขนาดและทักษะที่ขาดไปของฉันดังนั้นฉันจึงตรวจสอบ Google Code และเริ่มทำโครงการและตอนนี้มันถามฉันว่าฉันต้องการให้โครงการมี Git, Mercurial หรือ Subversion รหัสโฮสติ้ง ฉันไม่รู้ด้วยซ้ำว่าโค้ดโฮสติ้งคืออะไรและการค้นหาทำให้ฉันสับสนมากขึ้นกับการอภิปรายระหว่างสิ่งเหล่านี้ทั้งหมดและสิ่งนี้ก็ยิ่งแย่ลงเพราะ Google Code กำลังถามฉันว่าต้องการใบอนุญาตประเภทใด ฉันคิดว่าฉันไม่เข้าใจความหมายของโอเพ่นซอร์สจริง ๆ แล้วใครบางคนสามารถทำแผ่นโกงคนธรรมดาได้อย่างรวดเร็วในทุกสิ่งนี้คืออะไร? ชื่นชมมาก แก้ไขมีการตอบรับที่ยอดเยี่ยมมากมายเกี่ยวกับการโฮสต์โค้ดทั้งสามเวอร์ชัน แต่ฉันคิดว่าฉันล้มเหลวในการสื่อสารกับคำถามจริง: โดยทั่วไปฉันไม่รู้ว่าการทำงานแบบโอเพ่นซอร์สนี้ทำงานอย่างไร ? และนั่นหมายความว่าฉันต้องถอดไซต์ออกจากโฮสต์ปัจจุบันของฉันหรือนี่เป็นโฮสติ้งประเภทอื่นหรือไม่ จะเกิดอะไรขึ้นเมื่อฉันทำให้ไซต์ของฉันเป็นโอเพ่นซอร์สฉันมีสิทธิ์ใดบ้างฉันจะมอบสิทธิ์ใดให้ฉัน มันใช้งานได้อย่างไรผู้คนเพิ่งมาและโยนรหัสมาให้ฉันฟรีหรือไม่? บางทีนี่อาจเป็นคำถามที่งี่เง่าและถ้าเป็นเช่นนั้นฉันคิดว่าฉันต้องการคำตอบที่โง่ฉันก็ไม่รู้ว่าโอเพ่นซอร์สคืออะไรอย่างจริงจังยกเว้นแนวคิดในการแบ่งปันรหัส ...

4
เทคนิคการโค่นล้มขั้นสูงฉันหายไปอะไร
ฉันเริ่มใช้ SVN เมื่อประมาณ 9 เดือนที่แล้วและเป็นผู้เปลี่ยนเกมเพื่อพูดน้อยที่สุด ถึงแม้ว่าฉันรู้สึกว่าฉันยังหลงทางอยู่ ฉันรู้สึกว่ามีอีกมากที่ฉันต้องใช้ประโยชน์จากการพัฒนาแอพพลิเคชั่นของฉันจริงๆ ตัวอย่างเช่น ฉันต้องการที่จะกักกันการเปลี่ยนแปลงที่สำคัญ / ระเหยไปสู่ ​​'sub-repository' หรืออะไรบางอย่าง ฉันพบว่าการเปลี่ยนแปลงที่สำคัญกำลังขัดขวางการแก้ไขข้อบกพร่องเล็กน้อยที่ค่อนข้างเร่งด่วน ฉันจะผลักดันการอัปเดตอย่างง่ายหนึ่งอย่างโดยไม่ต้องกดรหัสที่ไม่สมบูรณ์หรือเสียได้อย่างไร

9
การควบคุมแหล่งที่มาใดที่ฉันต้องการสำหรับโครงการขนาดใหญ่ใน บริษัท โดยเฉลี่ย [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันรู้ว่า Git นั้นยอดเยี่ยมสำหรับโครงการโอเพ่นซอร์ส แต่ฉันสงสัยว่า: สำหรับ บริษัท ที่มีโปรแกรมเมอร์ 20 คนทำงานในโครงการ 1 ปีระบบควบคุมแหล่งที่มาเป็นที่ต้องการหรือไม่ จากสิ่งที่ฉันได้ยิน Git ใช้การดึง มันจะไม่ดีกว่าที่จะต้องผ่านคนอื่นเพื่อรับการเปลี่ยนแปลงของคุณในลำตัวหลัก? โดยเฉพาะอย่างยิ่งเมื่อทุกคนทำงานในเวลาเดียวกัน นั่นเป็นเพียงตัวอย่างที่ฉันสงสัย ฉันรู้วิธีใช้ SVN แต่ในงานสุดท้ายของฉันเราไม่ได้ใช้มันในโครงการของเราเนื่องจากทุกอย่างทำใน PHP และโดยทั่วไปเป็นโครงการแบบสแตนด์อโลน 1 สัปดาห์ ฉันเพิ่งมี SVN สำหรับรหัสท้องถิ่นของฉันและไม่จำเป็นต้องใช้กับผู้อื่น ดังนั้นแหล่งควบคุมที่ดีคืออะไรและโดยเฉพาะเหตุใดจึงดีสำหรับสิ่งนี้

3
การป้องกันความลับออกจากการควบคุมแหล่ง - เราเพิ่งจะย้ายปัญหาหรือไม่
ฉันสืบทอดบางโปรเจ็กต์ที่ความลับอยู่ในการควบคุมซอร์สใน App.config และไฟล์ที่คล้ายกัน โชคดีที่มันไม่ใช่ที่เก็บข้อมูลสาธารณะดังนั้นความเสี่ยงจึงไม่ร้ายแรงเท่าที่ควร ฉันกำลังมองหาวิธีที่ดีกว่าในการจัดการสิ่งนี้เช่น Azure KeyVault (แต่ฉันไม่ได้ตั้งใจจะให้คำถามนี้เฉพาะเจาะจงกับโซลูชันนั้น) โดยทั่วไปเราไม่ได้เป็นเพียงแค่การแก้ปัญหาหรือไม่ ตัวอย่างเช่นด้วย Azure KeyVault รหัสแอปและความลับของแอปกลายเป็นสิ่งที่คุณต้องการหลีกเลี่ยงการควบคุมแหล่งที่มา นี่เป็นตัวอย่างทั่วไปที่น่าเสียดายที่สิ่งนี้มีแนวโน้มที่จะผิดพลาด วิธีการอื่น ๆ นั้นมีความคล้ายคลึงกันโดยใช้คีย์ API หรือไฟล์ที่เก็บคีย์ที่คุณต้องปกป้อง สำหรับฉันแล้วดูเหมือนว่าผลิตภัณฑ์อย่าง Azure KeyVault นั้นไม่ดีกว่าและซับซ้อนกว่าการเก็บความลับของคุณในไฟล์กำหนดค่าแยกต่างหากและทำให้แน่ใจว่ามันอยู่ใน. gitignore หรือเทียบเท่า ไฟล์นี้จะต้องมีการแบ่งปันตามต้องการผ่านช่องทางด้านข้าง แน่นอนว่าผู้คนอาจจะส่งอีเมลถึงกันอย่างไม่ปลอดภัย ... มีวิธีการจัดการความลับที่ไม่เพียง แต่ย้ายปัญหาหรือไม่ ฉันเชื่อว่าคำถามนี้มีคำตอบที่ชัดเจนคำตอบเดียว โดยการเปรียบเทียบถ้าฉันถามว่า HTTPS ไม่เพียงแค่เคลื่อนย้ายปัญหาคำตอบก็คือปุ่ม CA จะกระจายไปกับระบบปฏิบัติการของคุณและเราเชื่อมั่นพวกเขาเพราะเราเชื่อถือวิธีการกระจายของระบบปฏิบัติการ (ไม่ว่าเราควรเป็นคำถามแยกต่างหาก ... )

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

5
วิธีที่ดีที่สุดในการจัดเก็บเอกสารที่เกี่ยวข้องกับโครงการรหัสคืออะไร
เรามีเอกสารจำนวนมากที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ของเรา สิ่งเหล่านี้รวมถึงสิ่งต่าง ๆ เช่นความต้องการเอกสารการออกแบบ PDF ภายนอกไฟล์ลูกค้าคำแนะนำการทดสอบ ฯลฯ ปัจจุบันเอกสารเหล่านี้กระจัดกระจายไปทั่วสถานที่ (วิกิ "สถานที่บางแห่งในเครือข่าย" ฮาร์ดไดรฟ์สำหรับนักพัฒนาท้องถิ่น (!) และสถานที่เลวร้ายยิ่ง) วิธีที่ดีที่สุดในการติดตามพวกเขาคืออะไร? เนื่องจากเราใช้ visual studio (2010) เพื่อการพัฒนาของเราและเราไม่มีผู้พัฒนาที่ไม่ใช่นักพัฒนาในโครงการฉันคิดว่ามันเป็นความคิดที่ดีที่จะเก็บไว้ใน VS "ทางออก" ซึ่งจะช่วยให้พวกเขา ที่จะควบคุมแหล่งที่มาและเข้าถึงได้ในระดับสากลโดยนักพัฒนาทั้งหมด อย่างไรก็ตาม VS ดูเหมือนจะไม่ถูกสร้างขึ้นเพื่อทำสิ่งนี้ หากคุณแก้ไขไฟล์เอกสารใด ๆ แม้แต่ไฟล์ที่ตั้งค่าด้วยคุณสมบัติบิลด์ "ไม่มี", "ห้ามคัดลอก" VS จะต้องสร้างซอฟต์แวร์ใหม่ก่อนที่จะรันอีกครั้ง ไม่มีวิธีในการสร้าง "โครงการเอกสาร" ภายในโซลูชัน (เราใช้โครงการ C # ที่ว่างเปล่าสำหรับสิ่งนี้) Visual Studio และ Word / Excel ไม่สามารถควบคุมแหล่งสัญญาณได้ดี คุณไม่สามารถดูไฟล์ที่เช็คอินแล้วตัดสินใจที่จะทำการเปลี่ยนแปลงโดยไม่ต้องปิดไฟล์ก่อนไปที่โครงการและตรวจสอบด้วยตนเองก่อนที่จะทำการเปลี่ยนแปลง มันช้าและน่าเบื่อที่สุดเท่าที่จะทำได้ อย่างไรก็ตามนี่เป็นสิ่งที่ดีที่สุดสำหรับทีมของเรา …

2
หลังจากแบ่งรหัสของเราเป็นบิตที่ใช้ซ้ำได้เราจะทดสอบและปรับใช้อย่างไร
เราเริ่มต้นจากนักพัฒนาหนึ่งรายและ repo svn หนึ่งตัวมีรหัสของเราทั้งหมด: ^/foo/trunk/module-a ^/foo/trunk/module-b ^/foo/trunk/module-b/submodule-b1 ^/foo/trunk/website1 (ในเวลานี้เป็นการปรับปรุงครั้งใหญ่) หลังจากนี้มีโอกาสเติบโตขึ้นเล็กน้อยเราเริ่มมีปัญหากับการพึ่งพาแบบวนรอบการทดสอบช้าและปัญหาทั่วไปในการใช้รหัสอีกครั้ง (เนื่องจากชุดคุณลักษณะของเว็บไซต์ 1 มีอยู่ในโมดูลทั่วไป) ต้องการทำให้โมดูลโค้ดเป็นโมดูลและคาดว่าเราจะย้ายไปที่คอมไพล์ในไม่ช้า (และเมื่ออ่านที่คอมไพล์ไม่ชอบ svn mega-repos) เราได้เปลี่ยนไปใช้โครงสร้างที่ละเอียดยิ่งขึ้น: ^/module-a/trunk/ ^/module-b/trunk/ ^/module-b/trunk/sumbmodule-b1 ^/earlier-sub-sub-sub-module-c/trunk etc. (about 120 such modules) นี่เป็นแนวคิดที่ยอดเยี่ยม รหัสแบบแยกส่วนเพิ่มเติมชุดทดสอบที่เร็วกว่ามากง่ายต่อเอกสารและอื่น ๆ เราเปิดแหล่งที่มาของส่วนประกอบทั่วไปเพิ่มเติมและทำให้โมดูลทั้งหมดสามารถติดตั้งได้ (ใช้pip install -e .เพื่อติดตั้งในdevelopmentvirtualenv) เราสร้าง^/srv/trunkพื้นที่เก็บข้อมูลที่มีโครงสร้างโฟลเดอร์ของสภาพแวดล้อมรันไทม์เช่น ^/srv/trunk/libสำหรับโมดูล/srv/trunk/srcสำหรับซากของ^/foo/trunk, ^/srv/trunk/wwwเว็บไซต์ ฯลฯ และสุดท้าย (รับความคิดจากผู้ที่ฉันเคยทำงานมานานแล้ว [ https://www.perforce.com/perforce/r12.1/manuals/cmdref/client.html] ) เราได้สร้าง "vcs-" ดึง "ไฟล์ข้อความที่แสดงรายการ repos ที่เกี่ยวข้องทั้งหมดและสถานที่ที่ควรเช็คเอาท์ในสภาพแวดล้อม …

4
วิธีการตรวจสอบว่ามีรหัสที่ถูกลบที่มีประโยชน์ในการควบคุมแหล่งที่มา?
ดังนั้นฉันอ่านคำถามนี้ฉันควรลบรหัสที่ไม่อ้างอิงหรือไม่ คำแนะนำบางส่วนคือการลบรหัสที่ไม่มีการอ้างอิงเนื่องจากรหัสอยู่ในการควบคุมซอร์สสำหรับการอ้างอิงในกรณีที่จำเป็นต้องใช้ในภายหลัง คุณจะจัดระเบียบรหัสที่ถูกลบนี้เพื่อให้คุณรุ่นที่ใหม่กว่า (หรือโปรแกรมเมอร์อื่น ๆ ) สามารถค้นหาได้ในภายหลังได้อย่างไร คุณทำแยกสาขาหรือแท็กในการควบคุมแหล่งที่มาอย่างใด? ฉันไม่เคยลบรหัสที่ถูกลบออกจากการควบคุมซอร์สมาก่อนฉันใช้เพื่อติดตามการเปลี่ยนแปลงรหัสที่ยังคงอยู่เป็นส่วนใหญ่ ฉันเคยอ้างอิงสาขามาก่อนเมื่อพวกเขามีงานทดลองของคนอื่นดังนั้นอาจเป็นวิธีที่ดีในการทำเครื่องหมายส่วนที่น่าสนใจของรหัสที่ถูกลบในลำต้น?

1
การควบคุมเวอร์ชันของเว็บไซต์: ไฟล์ dev / production front-end
ฉันพยายามคิดถึงวิธีที่ดีกว่าในการควบคุมเวอร์ชันโครงการเว็บไซต์ของเรา โปรดทราบว่าฉันเป็นเพียงส่วนหนึ่งของส่วนหน้าดังนั้นฉันจึงไม่มีความรู้ที่ลึกซึ้งเกี่ยวกับ VCS เวิร์กโฟลว์กำลังเปลี่ยนแปลงและพฤติกรรมการควบคุมเวอร์ชันที่ผ่านมาล้าสมัย ปัญหาหลักคือมี 2 อาร์เรย์ของไฟล์ส่วนหน้าสำหรับแต่ละเว็บไซต์ สภาพแวดล้อม dev (ไฟล์น้อยลง js ที่ไม่บีบอัดรูปภาพ ฯลฯ ) สภาวะแวดล้อมบิลด์ "gulpified" (ทุกสิ่งถูกบีบอัดและไม่สามารถอ่านได้โดยมนุษย์) แต่คุณไม่สามารถขายเว็บไซต์ด้วยไฟล์ต้นฉบับได้ มันรู้สึกไม่ถูกต้อง มีวิธีแก้ปัญหาของการมี 2 repos: หนึ่งบิลด์หนึ่ง dev กับอึกส่งไฟล์ dev เพื่อสร้างไดเรกทอรี แต่มันเป็นเรื่องยุ่งยากที่จะรักษาด้วย บริษัท เล็ก ๆ ฉันไม่คิดว่ามันเยี่ยมขนาดนั้น มันสร้าง repos มากมายและผู้คนต้องจัดการกับ repos หลาย ๆ ครั้งบางครั้งถึงกับ repo svn เพียงตัวเดียวปัญหาก็เกิดขึ้น ดังนั้นยังมีวิธีแก้ปัญหาของการมี 1 repo: ไฟล์ต้นฉบับและไฟล์ prod ใน svn เดียวกัน …

2
การแสดงละคร Git: เมื่อไหร่ถึงเวที? จะทำอย่างไรถ้ามีการดัดแปลงเกิดขึ้นในภายหลัง
ฉันค่อนข้างใหม่สำหรับโลกกว้างของ Git ฉันอ่านคู่มือและฝึกฝนมาแล้ว แต่ฉันก็สับสนเล็กน้อยเกี่ยวกับมันซึ่งฉันคิดไม่ออกหลังจากค้นหา ฉันสงสัย: ในโครงการ (โพสต์การคอมมิทครั้งแรก) ช่วงเวลาที่เหมาะสมในการจัดทำไฟล์ต้นฉบับคืออะไร ก่อนที่จะตัดสินใจ? ทันทีหลังจากเพิ่ม / ลบหรือแก้ไข? หากไฟล์ถูกจัดฉากกลางคันระหว่างสองคอมมิตและจากนั้นไฟล์จะถูกแก้ไขจะเกิดอะไรขึ้นกับ Git มันต้องการการดูแลเกี่ยวกับการเปลี่ยนแปลงเนื้อหาเมื่อมันถูกระบุและสิ่งที่มันจะกลายเป็นตั้งแต่? ถ้าฉันสร้างไฟล์ใหม่ให้จัดวางและต้องการลบไฟล์ทำไม Git ขอให้ฉันใช้แฟล็ก "-f" และ "git -rm file.ext" ธรรมดาจะไม่ทำงาน ฉันได้อ่าน "What stage หมายถึงอะไร" และวิชาอื่น ๆ ของคู่มือและแบบฝึกหัดอื่น ๆ ใน Git แต่อย่างที่ฉันพูดฉันยังไม่เข้าใจเรื่องข้างต้น ดังนั้นถ้าคุณทำได้โปรดตอบคำถามด้วยคำพูดและตัวอย่างของคุณเองเพื่อที่ฉันจะได้มีโอกาสเข้าใจมันมากขึ้น ขอบคุณ.

5
วิธีจัดการงานการตรวจสอบสตริงที่โลคัลไลซ์แล้วโดยผู้ที่ไม่ใช่ผู้พัฒนา
ใน. NET Framework สตริงที่แปลเป็นภาษาท้องถิ่นจะอยู่ในไฟล์ XML (หรือหลายไฟล์) ไฟล์เหล่านั้นเป็นส่วนหนึ่งของโครงการและมุ่งมั่นที่จะควบคุมแหล่งที่มาเป็นไฟล์รหัสอื่น ๆ โดยทั่วไปแล้ว Visual Studio จะใช้เพื่อแสดงไฟล์เหล่านั้นเป็นตารางและแก้ไขสตริงที่แปลแล้ว ฉันทำงานเป็นทีมเล็ก ๆ กับผลิตภัณฑ์ซึ่งควรมีส่วนต่อประสานหลายภาษา ในฐานะนักพัฒนาฉันร่างสายอักขระที่มีการแปลทั้งสองภาษาเนื่องจากการแปลอาจไม่แม่นยำ บุคคลอื่นจากทีม (ไม่ใช่ผู้พัฒนา) จะตรวจสอบเนื้อหาในทั้งสองภาษาและแก้ไขหากจำเป็น ปัญหาในปัจจุบันคือผู้ที่ไม่ใช่นักพัฒนาจะไม่ใช้ตัวควบคุมแหล่งที่มาหรือ IDE เนื่องจากมันจะยุ่งยากและยากเกินไป (การควบคุมเวอร์ชันเป็นเรื่องยากสำหรับผู้ที่ไม่ใช่นักพัฒนา) สำหรับบุคคลนี้ ทางเลือกอื่นสำหรับฉันในการส่งออกสตริงที่แปลเป็นไฟล์ Excel รอให้บุคคลนี้ตรวจสอบ Excel จากนั้นนำเข้าสตริงที่แก้ไขใหม่อีกครั้ง ข้อแม้ที่นี่คือฉันอาจจะสร้างสายอื่นเปลี่ยนชื่อที่มีอยู่ ฯลฯ ทำให้ยากที่จะแตกต่างรุ่นท้องถิ่นกับคนที่ผ่านการตรวจสอบ จะทำอย่างไร? มันเกิดขึ้นได้อย่างไรในทีมอื่น ๆ ?

2
วิธีการจัดโครงสร้างที่เก็บคอมไพล์สำหรับโครงการ?
ฉันกำลังทำงานกับโมดูลการซิงโครไนซ์เนื้อหาสำหรับ Drupal มีโมดูลเซิร์ฟเวอร์ซึ่งตั้งอยู่บนเว็บไซต์ ona และแสดงเนื้อหาผ่านบริการเว็บ นอกจากนี้ยังมีโมดูลไคลเอนต์ซึ่งตั้งอยู่บนเว็บไซต์ที่แตกต่างกันและดึงข้อมูลและนำเข้าเนื้อหาในช่วงเวลาปกติ เซิร์ฟเวอร์ถูกสร้างใน Drupal 6 ไคลเอนต์ถูกสร้างขึ้นใน Drupal 7 จะต้องมีเซิร์ฟเวอร์รุ่น Druapl 7 และจากนั้นจะต้องใช้ Drupal 8 ทั้งไคลเอนต์และเซิร์ฟเวอร์เมื่อเปิดตัวในปีหน้า ฉันค่อนข้างใหม่กับ git และ source control ดังนั้นฉันจึงสงสัยว่าวิธีที่ดีที่สุดในการตั้งค่าที่เก็บ git คืออะไร? มันจะเป็นกรณีของการมีพื้นที่เก็บข้อมูลแยกต่างหากสำหรับแต่ละตัวอย่างเช่น: Drupal 6 server = 1 repository Drupal 6 client = 1 repository Drupal 7 server = 1 repository Drupal 7 client = …

7
ทำอย่างไรถึงจะทำให้ลำตัวมั่นคงเมื่อการทดสอบใช้เวลานาน
เรามีห้องทดสอบสามชุด: ชุด "เล็ก" ใช้เวลาเพียงสองสามชั่วโมงในการทำงาน ชุด "กลาง" ที่ใช้เวลาหลายชั่วโมงโดยปกติแล้วจะวิ่งทุกคืน (ทุกคืน) ชุด "ใหญ่" ที่ใช้เวลาหนึ่งสัปดาห์ + ในการทำงาน เรามีห้องทดสอบสั้นกว่านี้เยอะ แต่ฉันไม่ได้สนใจที่นี่ วิธีการในปัจจุบันคือการเรียกใช้ชุดเล็กก่อนที่แต่ละกระทำเพื่อลำต้น จากนั้นชุดสื่อขนาดกลางจะทำงานทุกคืนและหากในตอนเช้ามันกลับกลายเป็นว่าล้มเหลวเราพยายามแยกแยะว่าการกระทำของเมื่อวานนี้คือการตำหนิการย้อนกลับที่กระทำและทดสอบอีกครั้ง กระบวนการที่คล้ายกันจะทำเพียงสัปดาห์ละครั้งแทนความถี่ทุกคืนสำหรับห้องสวีทขนาดใหญ่ น่าเสียดายที่ชุดสื่อกลางล้มเหลวค่อนข้างบ่อย นั่นหมายความว่าลำตัวมักไม่เสถียรซึ่งน่ารำคาญอย่างยิ่งเมื่อคุณต้องการแก้ไขและทดสอบพวกมัน มันน่ารำคาญเพราะเมื่อฉันเช็คเอาต์จากท้ายรถฉันไม่สามารถรู้ได้อย่างแน่นอนว่ามันเสถียรและหากการทดสอบล้มเหลวฉันไม่สามารถทราบได้อย่างแน่นอนว่าเป็นความผิดของฉันหรือไม่ คำถามของฉันคือมีวิธีการบางอย่างที่รู้จักกันในการจัดการสถานการณ์ประเภทนี้ในลักษณะที่จะทำให้ลำต้นอยู่ในสภาพดีเสมอ? เช่น "กระทำเป็นพิเศษในสาขา precommit ซึ่งจะทำการปรับปรุงลำต้นเป็นระยะทุกครั้งที่ผ่านไปทุกคืน" และมันจะสำคัญไหมถ้ามันเป็นระบบควบคุมแหล่งรวมส่วนกลางอย่าง SVN หรือระบบที่กระจายแบบ git? โดยวิธีการที่ฉันเป็นนักพัฒนาจูเนียร์ที่มีความสามารถที่ จำกัด ในการเปลี่ยนแปลงสิ่งต่าง ๆ ฉันแค่พยายามที่จะเข้าใจว่ามีวิธีการจัดการกับความเจ็บปวดนี้ที่ฉันกำลังประสบ

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