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

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

1
ความรับผิดชอบของ Build Script และ Build Server
ฉันต้องการคำชี้แจงเกี่ยวกับความรับผิดชอบของ Build Script และ Build Server ฉันอ่านบทความหลายเรื่องบนอินเทอร์เน็ตเกี่ยวกับการรวมและสร้าง รวมไปถึง รหัส F5 ไม่ใช่กระบวนการสร้าง The Build Server: Heart Monitor ของโครงการของคุณ งานสร้างรายวันเป็นเพื่อนของคุณ และฉันได้สนทนากับที่ปรึกษาเกี่ยวกับกระบวนการสร้างซอฟต์แวร์ของเรา เพราะเขามีประสบการณ์มากฉันเชื่อในคำพูดของเขา แต่ฉันถูกทิ้งให้สับสน ตามที่ฉันเข้าใจจากการวิจัยของฉัน (และโปรดแก้ไขให้ฉันที่นี่ด้วยเนื่องจากเป็นสิ่งที่ฉันถาม) อุดมคติควรเป็นดังนี้: ทุกโครงการมีสคริปต์การสร้าง สคริปต์นี้สร้างโครงการ สคริปต์นี้ทำให้แน่ใจว่ามีการสร้างการอ้างอิงก่อนหน้านี้ เนื่องจากการขึ้นต่อกันอาจเป็นโครงการอื่น ๆ ด้วยสคริปต์การสร้างของตัวเองลำดับชั้นที่มีลักษณะคล้ายต้นไม้เพิ่มขึ้น อาจมีสคริปต์สร้างชั้นนำที่สร้างโครงการและแอปพลิเคชันทั้งหมด อย่างไรก็ตามความรับผิดชอบของ Build Server คือ: ตรวจสอบพื้นที่เก็บข้อมูล ทริกเกอร์การสร้าง การทดสอบทริกเกอร์และเครื่องมือ QA อื่น ๆ ทำให้สิ่งประดิษฐ์พร้อมใช้งาน สิ่งนี้อาจถูกทริกเกอร์ด้วยตนเองทุกคืนหรือทุกครั้งที่มีการเปลี่ยนแปลงที่เก็บ วัตถุประสงค์ของที่ปรึกษาของฉันคือตามที่ฉันเข้าใจพวกเขาว่าหนึ่งสคริปต์สร้างเป็นวิธีที่ยืดหยุ่นและไม่สามารถบำรุงรักษาได้ (นอกเหนือจากความจริงที่ว่ามันจะใช้เวลานานมากจากการสร้างหนึ่งสำหรับฐานรหัสดั้งเดิมของเรา) นอกจากนี้ Build Server ควรรักษาการอ้างอิงเช่นการใช้การอ้างอิงแบบเก่าเมื่อสร้างล้มเหลวใหม่ และโดยเฉพาะอย่างยิ่งสำหรับAntมันเป็นเรื่องที่เป็นรูปธรรมไม่สามารถสร้างเทคโนโลยีที่แตกต่างกันทุกชนิดที่ใช้ในรหัสฐานและไม่สามารถรักษาความไว้วางใจได้ …

1
Git เวิร์กโฟลว์ / การปฏิบัติสำหรับโครงการขนาดเล็ก (ผังใน png)
ฉันกำลังพยายามหาเวิร์กโฟลว์ส่วนตัว ฉันได้รวบรวมผังงานเกี่ยวกับอายุการใช้งานสมมุติของการวางจำหน่าย: นักพัฒนารายหนึ่งผลักดันให้ repo สาธารณะ Github + เพื่อนช่วยด้วยคุณสมบัติบางอย่างและแก้ไขข้อบกพร่อง นี่เป็นวิธีการที่สมเหตุสมผลในการควบคุมเวอร์ชันหรือไม่? แนวคิดหลักคือการรักษาความเป็นระเบียบเรียบร้อยสาธารณะ: การเปิดตัวใหม่แต่ละครั้งจะดำเนินการในสาขาของตนเองจนกว่าจะถูกแท็กในสาขาหลักเมื่อเสร็จสิ้น งานทั้งหมดจะทำในสาขา "คุณสมบัติ" หรือ "โปรแกรมแก้ไขด่วน" ไม่เคยอยู่ในสาขาที่วางจำหน่ายจริงเพื่อป้องกันความผิดปกติ การรวมสาขาในระดับที่สูงกว่านั้นจะถูกรีบูทหรือบีบอัดเสมอ (เพื่อหลีกเลี่ยงความยุ่งเหยิง) ถ้าเกินความจริงฉันก็ไม่รังเกียจเพราะประเด็นทั้งหมดสำหรับฉันคือการเรียนรู้ทักษะที่ฉันอาจต้องการสำหรับโครงการขนาดใหญ่ ปัญหาเดียวก็คือถ้าฉันทำบางสิ่งผิดปกติหรือไม่จำเป็น แก้ไข 2:แก้ไขความคิดที่ไม่ดีในผังงานดั้งเดิมและทำให้การนำทางง่ายขึ้นเล็กน้อย

4
โค้ดการจัดการแนวโน้มเป้าหมายควรได้รับการจัดการโดยผู้จัดการการพัฒนาอย่างไร
ก่อนอื่นให้ฉันเหรียญคำ: การดูแลรหัสเป้าหมาย: การตรวจสอบโค้ดในตอนเช้าจากนั้นตรวจสอบการเปลี่ยนแปลงทั้งหมดที่ทำโดยนักพัฒนาคนอื่น ๆ ในไฟล์วันก่อนหน้าโดยไฟล์ (โดยเฉพาะไฟล์โค้ดที่คุณพัฒนาขึ้นในตอนแรก) และแก้ไขการจัดรูปแบบตรรกะ วิธีการแบบยาว ฯลฯ จากนั้นส่งมอบการเปลี่ยนแปลงไปยัง VCS การปฏิบัตินี้มีแนวโน้มที่จะมีข้อดีข้อเสียที่ฉันระบุ: Pro : คุณภาพของรหัส / ความสามารถในการอ่าน / ความสอดคล้องมักจะถูกรักษาไว้ Pro : ข้อผิดพลาดบางอย่างได้รับการแก้ไขเนื่องจากนักพัฒนารายอื่นไม่คุ้นเคยกับรหัสดั้งเดิม คอนดิชั่น : มักจะเป็นการเสียเวลาของผู้พัฒนาเป้าหมาย คอนดิชั่น : บางครั้งแนะนำบั๊กที่ทำให้นักพัฒนาโกรธซึ่งคิดว่าพวกเขาเขียนโค้ดปราศจากข้อบกพร่องในวันก่อนหน้า คอนดิชั่นเนอร์ : นักพัฒนารายอื่นได้รับความเดือดร้อนจาก nitpicking มากเกินไปและเริ่มที่จะไม่ชอบการมีส่วนร่วมในรหัสของเป้าหมายที่อ่อนโยน ข้อจำกัดความรับผิดชอบ: เพื่อความเป็นธรรมฉันไม่ได้เป็นผู้จัดการการพัฒนาจริง ๆ แล้วฉันเป็นผู้พัฒนาที่กำลังทำ "กำลังพุ่งเป้า" ในการป้องกันของฉันฉันคิดว่าฉันกำลังทำสิ่งนี้ด้วยเหตุผลที่ดี (เพื่อรักษาฐานรหัสขนาดใหญ่มากของเราไว้ในเครื่องที่มีน้ำมันดี) แต่ฉันกังวลมากว่ามันสร้างบรรยากาศเชิงลบเช่นกัน ฉันยังกังวลอย่างแน่นอนว่าผู้จัดการของฉันจะต้องแก้ไขปัญหานี้ ดังนั้นถ้าคุณเป็นผู้จัดการคุณจะแก้ไขปัญหานี้อย่างไร UPDATE: ฉันไม่ได้ตั้งใจจะให้เป็นภาษาท้องถิ่น แต่บางคนถามดังนั้นบางทีพื้นหลังบางอย่างจะสว่างขึ้น ฉันได้รับมอบหมายโครงการยักษ์ใหญ่ (200K LoC) เมื่อสามปีที่แล้วและเมื่อไม่นานมานี้ …

6
วิธีที่ดีที่สุดในการอนุญาตให้ลูกค้ามีส่วนร่วมในโครงการคืออะไร?
เราได้สร้าง CRM สำหรับลูกค้า ตอนนี้ขั้นตอนแรกที่สำคัญได้รับการเสร็จแล้วและคนที่สองตามที่ตกลงกันลูกค้าต้องการที่จะรับบางส่วนของงานที่ทำให้การแก้ไขเล็กน้อยคีมาฐานข้อมูลและกระบวนการทางธุรกิจในระยะแรกขณะที่เราสร้างสอง ฉันยังไม่แน่ใจว่ามันใช้งานได้จริงหรือเปล่า แต่ถ้าเป็นเช่นนั้นฉันอยากจะชี้ให้เห็นว่าจะใช้มาตรการใดเพื่อทำให้สิ่งนี้ใช้งานได้ นี่คือสิ่งที่ฉันได้รับ: จนถึงขณะนี้ลูกค้าได้เห็นโครงการเป็นส่วนใหญ่จากมุมมองของผู้ใช้ เห็นได้ชัดว่าการสัมมนาสองส่วนควรจะเกิดขึ้นที่เราแนะนำให้เขารู้จักกับการทำงานภายใน: ก่อนแสดง schema ฐานข้อมูลที่มีอยู่และโดยวิธีการขยายมัน จากนั้นให้แสดงโค้ดตัวอย่างและเขียนกระบวนการทางธุรกิจใหม่สำหรับการปรับปรุงสคีมา รหัสปัจจุบันอยู่ในที่เก็บในการโค่นล้มภายใน ในขณะที่เราสามารถตั้งค่าสาธารณะหนึ่งหรือหนึ่งในเครือข่ายของเขา (ซึ่งเราสามารถ VPN เพื่อ) ฉันรู้สึกว่าระบบกระจายจะทำงานได้ดีขึ้น ฉันดูเหมือนจะเป็นคนเดียวที่รู้สึกอย่างนั้นดังนั้นฉันจึงสามารถใช้ข้อโต้แย้งที่น่าเชื่อถือบางอย่าง ฉันไม่แน่ใจว่าจะมอบอำนาจหรือให้รหัสที่ใช้ในการผลิตนั้นถูกต้องหรือไม่ ดูเหมือนว่า "x ทำการเปลี่ยนแปลงที่สำคัญและไม่มีเอกสารก่อนที่จะไปพักผ่อนตอนนี้ y กำลังพยายามหาจุดบกพร่องที่เกิดขึ้นนับตั้งแต่" ภัยพิบัติเป็นสิ่งที่หลีกเลี่ยงไม่ได้ ถ้าเป็นการดีการเปลี่ยนแปลงทั้งหมดก่อนการปรับใช้จะ: จัดทำเป็นเอกสารในระบบติดตามปัญหา เกิดขึ้นในสภาพแวดล้อมการทดสอบที่แยกต่างหากก่อนและ ต้องผ่านการทดสอบอัตโนมัติ อนิจจาฉันสงสัยระเบียบวินัยสำหรับผู้ใดจะชนะ สมมติว่าสถาปัตยกรรมปลั๊กอินหรือโปรเจ็กต์แยกต่างหากไม่ใช่ตัวเลือกที่ทำงานได้เพราะ 1) ไม่มีอยู่และ 2) อันหลังจะห้ามไม่ให้ลูกค้าดูและอาจแก้ไขโค้ดที่มีอยู่ความสามารถที่ฉันเชื่อว่าเขาจะ ยืนยัน.

3
ทำไมฉันไม่สามารถแก้ไขข้อความยืนยัน SVN ได้?
ฉันใช้ SVN บางครั้งฉันคิดถึงบางอย่างเมื่อฉันเขียนข้อความยืนยัน แต่เมื่อมีการยืนยันแล้วจะไม่สามารถเปลี่ยนกลับได้และฉันไม่สามารถแก้ไขข้อความได้ ทำไมพวกเขาถึงไม่ใส่ฟังก์ชั่นแก้ไขเข้าไป?

6
กลยุทธ์การแบ่งสาขาและการกำหนดเวอร์ชันสำหรับไลบรารีที่แบ่งใช้
ข้อความเหล่านี้ดูเหมือนว่าเกี่ยวข้อง แต่สมองของฉันเริ่มละลายพยายามคิดผ่าน: P นายจ้างของฉันเพิ่งเริ่มใช้การควบคุมแหล่งที่มาส่วนใหญ่เป็นเพราะก่อนที่พวกเขาจะจ้างนักพัฒนามากขึ้น "ที่เก็บ" คือฮาร์ดไดรฟ์ของ dev ที่โดดเดี่ยวซึ่งทำงานจากที่บ้านเป็นหลัก ทั้งหมดของรหัส .NET เขาต้องการเขียนได้รับการตรวจสอบในว่อนและมีเป็นจำนวนมากของการทำซ้ำ (อ่าน: คัดลอกวาง) ฟังก์ชั่น ตอนนี้ระบบ SCM ของเราได้รับการเชิดชูข้อมูลสำรอง ฉันต้องการดึงรหัสที่ซ้ำกันบางส่วนลงในห้องสมุดสาธารณะ ฉันปล่อยให้ repo ดั้งเดิมอยู่คนเดียวเพื่อที่เราจะได้ไม่ทำลายสิ่งใด - เราสามารถย้ายและ / หรือปรับโครงสร้างโค้ดที่มีอยู่เดิมและเมื่อจำเป็น ดังนั้นฉันจึงตั้งค่า repo สำหรับรหัสใหม่รวมถึงไลบรารี ปัญหาของฉันเกี่ยวกับการกำหนดเวอร์ชันไลบรารี่โดยไม่ทำให้เรายุ่งเหยิงในกระบวนการที่มากเกินไป: โดยยอมรับว่าเราต้องการแนวทางที่สอดคล้องกันมากขึ้นด้วย devs ทั้งหมดที่เขียนโค้ดที่คล้ายกันมากการจัดการและ devs อื่น ๆ เปิดเพื่อจัดระเบียบใหม่ ลงไปได้ด้วยดีถ้าการแก้ปัญหาเริ่มส่งผลกระทบต่อผลผลิต ทางออกที่ดีที่สุดในใจของฉันคือการสร้างห้องสมุดแยกจากกันโดยแต่ละโครงการขึ้นอยู่กับรุ่นที่เลือกและเข้ากันได้โดยเจตนา ด้วยวิธีนี้เรารู้ว่าลูกค้ารายใดมีไลบรารีรุ่นใดที่สามารถทำซ้ำข้อบกพร่องได้อย่างน่าเชื่อถือรักษาสาขาการปล่อยอิสระสำหรับผลิตภัณฑ์และไลบรารีและไม่ทำลายโครงการของกันและกันเมื่อเปลี่ยนรหัสที่ใช้ร่วมกัน สิ่งนี้ทำให้การอัปเดตห้องสมุดยุ่งยากโดยเฉพาะอย่างยิ่งสำหรับผู้ที่ทำงานจากที่บ้าน ฉันคาดว่าห้องสมุดจะเปลี่ยนแปลงอย่างรวดเร็วอย่างน้อยในขั้นต้นเมื่อเรา (ในที่สุด) ดึงบิตทั่วไปเข้าด้วยกัน มีความเป็นไปได้ค่อนข้างมากที่ฉันคิดอย่างถี่ถ้วนและเราก็สามารถสร้างทุกอย่างให้สอดคล้องกับความมุ่งมั่นล่าสุดของห้องสมุดได้ แต่อย่างน้อยฉันก็ควรเตรียมตัวให้พร้อมสำหรับวันที่เราตัดสินใจว่าส่วนประกอบบางอย่างต้องเป็นรุ่นที่เป็นอิสระและ กระจาย ความจริงที่ว่าบางไลบรารีจะต้องติดตั้งใน GAC ทำให้การกำหนดเวอร์ชันมีความสำคัญเป็นพิเศษ ดังนั้นคำถามของฉันคืออะไรฉันหายไปไหน …

4
เหตุใด บริษัท การเงิน / ประกันภัยขนาดใหญ่ควรใช้ git และ / หรือ gitub
ฉันทำงานให้กับองค์กรขนาดใหญ่ (พนักงาน 30K) ในอุตสาหกรรมการเงิน / ประกันภัย ในขณะที่ "ไอที" ไม่ใช่สิ่งที่เราให้ความสำคัญ แต่ก็คืออุตสาหกรรมเหล่านี้เป็นอุตสาหกรรมที่ใช้ข้อมูลเป็นหลักและ บริษัท ที่มีความได้เปรียบด้านเทคโนโลยีที่ดีกว่า บริษัท ของฉันมีทีมพัฒนาซอฟต์แวร์มากมาย พวกมันอยู่เหนือแผนที่พร้อมการควบคุมเวอร์ชันใช้ภาษา / กรอบงานเพียงอย่างเดียว บางคนไม่ใช้ (ฉันรู้) บางคนใช้ PVCS บางคนใช้ VSS และใช้ SVN ที่รู้แจ้งมากที่สุด ฉันต้องการนำคอมไพล์มาสู่องค์กรของฉัน โดยเฉพาะฉันต้องการนำ GitHub (ที่เก็บส่วนตัว) ฉันรู้ว่าคนที่เหมาะสมในการพูดคุยเกี่ยวกับเรื่องนี้ แต่ขอให้ซื่อสัตย์อีกครั้งการเคลื่อนไหวที่รุนแรงเช่นนี้มักจะถูกยิงในองค์กรขนาดใหญ่เนื่องจากความกังวลด้านความปลอดภัยที่คลุมเครือหรือความจริงที่ว่าไม่มีคู่แข่งของเราใช้งาน อ้างอิงเฉพาะ jQuery, Ruby on Rails, Facebook และอื่น ๆ เป็นข้อมูลอ้างอิง) ดังนั้นคำถามของฉันคือสิ่งนี้ อะไรคือเหตุผลที่น่าสนใจที่สุดว่าทำไมองค์กรขนาดใหญ่ควรช้าและตั้งใจเปลี่ยนจาก PVCS / VSS / SVN เป็นโซลูชัน git …

7
การปฏิบัติที่ดีที่สุดสำหรับการมีซอร์สโค้ดที่ 'ตรวจสอบแล้ว' ในที่เก็บคอนโทรลแหล่งข้อมูลคืออะไร
อะไรจะเป็นวิธีที่ดีที่สุดในการจัดการซอร์สโค้ดที่ตรวจสอบแล้วในที่เก็บคอนโทรลแหล่งที่มา? รหัสแหล่งที่มาควรผ่านกระบวนการตรวจสอบก่อนที่จะได้รับการตรวจสอบหรือควรตรวจสอบรหัสที่เกิดขึ้นหลังจากที่รหัสมุ่งมั่น? หากการตรวจสอบเกิดขึ้นหลังจากรหัสถูกเช็กอินในที่เก็บดังนั้นควรติดตามอย่างไร?

6
เราจะรวมเฉพาะฟีเจอร์ที่พร้อมวางจำหน่ายในการผลิตของเราทุกสัปดาห์ได้อย่างไร
ฉันเป็นนักพัฒนาซอฟต์แวร์ในทีมเปรียวขนาดใหญ่พอสมควร (เรามีนักพัฒนาแปดคนทำการเปลี่ยนแปลงที่เก็บรหัสเดียว) ทุกสองสัปดาห์เราจะผลักดันซอฟต์แวร์เวอร์ชันใหม่ให้ผลิต นี่คือขั้นตอนการทำงานปัจจุบันของเรา: เมื่อเริ่มงานใหม่นักพัฒนาจะสร้าง "ฟีเจอร์บรานช์" จากสาขาการพัฒนาหลัก (เราใช้คอมไพล์ ) และทำงานนอกสาขาใหม่นี้ เมื่อนักพัฒนาซอฟต์แวร์ทำงานเสร็จแล้วพวกเขาจะรวมสาขาฟีเจอร์ของพวกเขากลับเข้าไปในสาขาการพัฒนา ผู้พัฒนาผสานสาขาการพัฒนาเข้ากับสาขา QA บิลด์จะถูกทริกเกอร์จากสาขา QA ผลลัพธ์ของโครงสร้างนี้ถูกปรับใช้ในสภาพแวดล้อม QA ของเราเพื่อให้ผู้ทดสอบเริ่มการทดสอบ เป็นเรื่องปกติที่ผู้ทดสอบของเราจะพบปัญหาเกี่ยวกับคุณสมบัติใหม่เหล่านี้ซึ่งได้รวมเข้ากับสาขา QA ซึ่งหมายความว่าในเวลาใดก็ตามสภาพแวดล้อม QA อาจมีคุณสมบัติใหม่หลายประการ - บางส่วนผ่านการทดสอบและปราศจากข้อบกพร่องและบางส่วนเสีย สิ่งนี้ทำให้การปล่อยทำได้ยากเพราะหายากที่ QA build อยู่ในสถานะพร้อมใช้งานการผลิต เพื่อบรรเทาปัญหานี้เราได้พยายามเริ่มต้น "การหยุด QA" ซึ่งหมายความว่านักพัฒนาไม่รวมสาขาการพัฒนาของเราเข้ากับสาขา QA สองสามวันก่อนการเปิดตัว การแก้ไขข้อบกพร่องของสภาพแวดล้อม QA นั้นเกิดขึ้นโดยตรงกับสาขา QA และรวมเข้ากับสาขาการพัฒนา ในทางทฤษฎีสิ่งนี้ทำให้คุณสมบัติใหม่แตกออกจาก QA ในขณะที่ยังช่วยให้เราสามารถแก้ไขปัญหาที่มีอยู่แล้วใน QA ในขณะที่แนวคิด "QA freeze" ประสบความสำเร็จเพียงบางส่วน แต่ก็ยากที่จะประสานงานและผู้คนมักสับสนว่าพวกเขาได้รับอนุญาตให้รวมกับ QA …

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

2
ความไม่สะดวกเกี่ยวกับการรวมใน SVN ก่อนหน้า v1.5 ล้าสมัยแล้วในขณะนี้หากไม่มีข้อมูลเมตาอีกต่อไป
ฉันเริ่มต้นกับ SVN และหลายแหล่งกล่าวว่าการรวมกันเป็นเรื่องยากมากใน SVN เมื่อเทียบกับเครื่องมือ DVCS คำถามล่าสุดที่ฉันสามารถหาที่นี่ใน SE มีจาก 2012 บางครั้งมีการกล่าวถึงเหตุผลที่ SVN ก่อนหน้า v1.5 ไม่มีข้อมูลเมตา แต่ SVN อยู่ในรุ่น 1.8.9 ในขณะนี้ ระบุว่า SVN นั้นเป็นผู้ใหญ่มากกว่า v1.5 และโดยเฉพาะอย่างยิ่งความจริงที่ว่าเราไม่ได้ใช้ SVN 1.5 ดังนั้นเราจึงไม่ต้องทนทุกข์ทรมานจากการขาดข้อมูลเมตาที่กล่าวถึง - ยังมีความถูกต้องมากในการโต้แย้งกับ SVN ฉันเข้าใจว่า DVCS มีวิธีที่แตกต่างอย่างสิ้นเชิงซึ่งมักเป็นที่ต้องการมากกว่า แต่สำหรับผู้ที่ "ต้อง" ues SVN ไม่ว่าด้วยเหตุผลใดก็ตามการรวมกันไม่ใช่ "นรก" จริง ๆ อีกแล้วใช่ไหม

3
Git เวิร์กโฟลว์สำหรับทีมขนาดเล็ก
ฉันกำลังทำงานกับเวิร์กโฟลว์ git เพื่อนำไปใช้ในทีมเล็ก ๆ แนวคิดหลักในเวิร์กโฟลว์: มีต้นแบบโครงการที่ใช้ร่วมกันที่สมาชิกในทีมทุกคนสามารถเขียนได้ การพัฒนาทั้งหมดจะทำเฉพาะในสาขาคุณลักษณะ สาขาฟีเจอร์คือรหัสที่สมาชิกทีมอื่นตรวจสอบซึ่งไม่ใช่ผู้เขียนสาขา ในที่สุดสาขาคุณลักษณะจะถูกรวมเข้ากับต้นแบบที่ใช้ร่วมกันและรอบจะเริ่มขึ้นอีกครั้ง บทความอธิบายขั้นตอนต่าง ๆ ในวงจรนี้โดยละเอียด: https://github.com/janosgyerik/git-workflows-book/blob/small-team-workflow/chapter05.md สิ่งนี้เหมาะสมหรือฉันขาดอะไรไป?

3
เวิร์กโฟลว์ GIT ผู้พัฒนาเดี่ยว (ย้ายจาก FTP ตรงไปตรงมา)
ฉันกำลังพยายามตัดสินใจว่าการย้ายไปที่ VCS นั้นสมเหตุสมผลหรือไม่สำหรับฉัน ฉันเป็นผู้พัฒนาเว็บไซต์เดียวในองค์กรขนาดเล็ก (5 คน) ฉันกำลังคิดถึง VCS (Git) ด้วยเหตุผลเหล่านี้: การควบคุมเวอร์ชันการสำรองนอกสถานที่การเก็บรหัสส่วนกลาง (สามารถเข้าถึงได้จากที่บ้าน) ในขณะนี้ฉันทำงานบนเซิร์ฟเวอร์ที่ใช้งานจริงโดยทั่วไป ฉัน FTP เข้าทำการแก้ไขและบันทึกจากนั้นอัปโหลดและรีเฟรช โดยปกติแล้วการแก้ไขจะเป็นไฟล์ธีม / ปลั๊กอินสำหรับ CMSes (เช่น concrete5 หรือ Wordpress) ใช้งานได้ดี แต่ไม่มีการสำรองข้อมูลและไม่มีการควบคุมเวอร์ชัน ฉันสงสัยว่าวิธีที่ดีที่สุดในการรวม VCS เข้ากับกระบวนการนี้ ฉันจะมองเห็นการตั้งค่าเซิร์ฟเวอร์ Git บนเว็บเซิร์ฟเวอร์ของ บริษัท แต่ฉันไม่ชัดเจนว่าจะผลักดันการเปลี่ยนแปลงไปยังบัญชีลูกค้า (ปกติ VPSes บนเซิร์ฟเวอร์เดียวกัน) - ตอนนี้ฉันเพียงเข้าสู่ SFTP ด้วยรายละเอียดและสร้าง การเปลี่ยนแปลงโดยตรง ฉันยังไม่แน่ใจว่าอะไรเป็นตัวแทนพื้นที่เก็บข้อมูลอย่างสมเหตุสมผล - เว็บไซต์ของลูกค้าแต่ละรายจะได้รับพื้นที่เก็บข้อมูลของตนเองหรือไม่ ข้อมูลเชิงลึกหรือประสบการณ์ใด ๆ จะเป็นประโยชน์จริงๆ ฉันไม่คิดว่าฉันต้องการพลังเต็มที่ของ Git …

6
การเลือกกลยุทธ์การแยกสาขาที่เหมาะสมสำหรับการเผยแพร่
เริ่มต้นด้วยทีม dev ใหม่ในโครงการใหม่และเราต้องกำหนดกลยุทธ์การแบ่งสาขาสำหรับแหล่งเก็บข้อมูลของเรา ( เช่น Microsoft Team Foundation Server 2010 ) เราได้ทำการอภิปรายกันอย่างเหนียวแน่นว่าจะ ... ก . มีสาขาReleaseหนึ่งสาขาที่เราผลิตงานสร้างและจากนั้นLabelเมื่อมีบางอย่างออกวางจำหน่ายจริง หรือ ข . มีสาขาReleaseใหม่สำหรับแต่ละ Release ใหม่เข้าสู่การผลิต ( เช่นเวอร์ชัน 1, 2, 3, ฯลฯ ... ) ตัวเลือกAดูเหมือนจะตรงไปตรงมา แต่เราไม่แน่ใจว่าสิ่งนี้จะนำไปสู่ปัญหาในระยะยาวหรือไม่ ตัวเลือกBดูเหมือนว่าจะเป็นเพียงการสร้างกิ่งไม้ที่มีอายุยืนยาวจำนวนมากเพียงครั้งเดียว ไม่มีใครมีประสบการณ์อย่างใดอย่างหนึ่งที่สามารถช่วยเราตัดสินใจได้ โดยเฉพาะฉันกำลังมองหาว่าจุดปวดอยู่ที่ใดสำหรับทางเลือกหนึ่ง อย่าลังเลที่จะมอบประสบการณ์เฉพาะที่เกี่ยวข้องกับ TFS และ / หรือนัยต่อการจัดการที่วางจำหน่าย

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

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