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

Git เป็น DVCS โอเพนซอร์ส (ระบบควบคุมเวอร์ชันแบบกระจาย)

2
สรุปการเปลี่ยนแปลง (การแทรกและการลบ) ใน Git [ปิด]
ฉันต้องการดูว่าฐานรหัสของฉันเติบโตขึ้นอย่างไรเมื่อเวลาผ่านไป GitHub มี+/-จอแสดงผลที่ดีตามรายการเช็คอินซึ่งให้ความรู้สึกเช่นนี้ มีสิ่งที่คล้ายกันที่ฉันสามารถใช้กับ repo ที่โฮสต์โดย Google Code หรือออฟไลน์ได้หรือไม่
47 git 

4
ผู้ดูแล GitHub ควรเขียนของผู้เขียนในคำขอดึง?
ฉันไม่ใช่โปรแกรมเมอร์โดยอาชีพ แต่ฉันเขียนโค้ดและใช้ github บ้าง ฉันเจอสิ่งที่ฉันพบว่าเป็นสถานการณ์ที่น่าแปลกใจ ฉันคุ้นเคยกับคอมไพล์มาก มีโครงการที่ฉันพบข้อบกพร่อง (เล็ก) ในที่มีผลต่อฉันคือ ฉันใช้เวลาช่วงบ่ายในการค้นหาและแก้ไข ฉันแยกพื้นที่เก็บข้อมูลยอมรับการเปลี่ยนแปลงและออกคำขอดึง หลังจากเห็นว่ามันถูกปิดในฐานะ "ผสานเข้ากับสาขาการพัฒนา" ฉันคิดว่าทุกอย่างเป็นไปด้วยดี ฉันกำลังเรียกดู repo วันนี้เตรียมพร้อมที่จะลบสาขาของฉันและฉันไม่สามารถหาที่กระทำได้รวมเข้ากับ repo ของผู้ดูแลเลย หลังจากนั้นสักครู่ฉันก็รู้ว่ามันถูกเพิ่มเข้ามาในคอมมิชชัน แต่ผู้แต่งไม่ได้เป็นฉันแล้ว เท่าที่ฉันสามารถบอกวิธีเดียวที่จะทำเช่นนั้นโดยเฉพาะอย่างยิ่งใช้ rebase, แก้ไข, หรือเขียนประวัติศาสตร์อื่น ๆ เพื่อลบผู้เขียนต้นฉบับ ดูเหมือนว่าฉันผิดมาก ที่ดีที่สุดมันทำให้เกิดความสับสนในที่สุดผู้เขียนของ repo นี้จะได้รับเครดิตสำหรับความมุ่งมั่นของทุกคนแล้วประวัติของผู้มีส่วนร่วมเดิมจะหายไป อีกครั้งมันเป็นข้อผิดพลาดเล็ก ๆ ฉันไม่ได้ใช้มันสำหรับประวัติย่อมืออาชีพของฉันมันก็ดูเหมือนจะไม่ซื่อสัตย์ เป็นเรื่องปกติหรือไม่ ฉันควรพูดอะไรเกี่ยวกับเรื่องนี้หรือไม่? แก้ไข: ความรู้สึกทั่วไปน่าจะเป็นที่ฉันควรไปถามดังนั้นฉันจะทำแค่นั้นเมื่อเช้านี้ ตามคำขอด้านล่าง ฉันได้ตรวจสอบแล้วและมีรหัสของฉันอยู่และใช้แน่นอนในขณะที่ฉันเขียน (รวมถึงความคิดเห็น) ฉันยืนยันว่าทั้งผู้เปลี่ยนใจและผู้แต่งได้เปลี่ยนไป มีการเปลี่ยนแปลงเพิ่มเติมอีกหนึ่งรายการในเวลาเดียวกันกับการเปลี่ยนแปลงของฉัน มันเป็นบรรทัดเดียวซึ่งจะส่งผลกระทบต่อแพทช์เช่นเดียวกับรหัสอื่น ๆ ก่อนหน้านี้ IE การเพิ่มหนึ่งบรรทัดไม่เกี่ยวข้องกับข้อผิดพลาดที่ฉันแก้ไข อัปเดต ดูเหมือนว่าคำตอบคือผู้เขียนเก็บรักษาสาขาการพัฒนาและไม่ต้องการผสานจากสาขาหลักของเขาเข้ามา …
44 git  github 

5
ทำความเข้าใจความแตกต่างของสาขาระหว่าง SVN และ Git
ฉันเป็นผู้ใช้ของ SVN และตอนนี้ฉันกำลังเรียนรู้ Git ใน SVN ฉันมักจะเช็คเอาต์ repo บนเครื่องของฉันซึ่งรวมถึงสาขาทั้งหมดในโครงการของฉันและฉันเคยเลือกโฟลเดอร์สำหรับสาขาที่ฉันสนใจและทำงานที่นั่น ฉันเห็นความแตกต่างโดยใช้ Git ขณะนี้ฉันกำลังโคลน repo และโคลนสาขาเฉพาะโดยใช้ gitk โฟลเดอร์โปรเจ็กต์มีเฉพาะเนื้อหาสำหรับสาขานั้นและฉันไม่เห็นทุกสาขาเหมือนใน SVN ซึ่งทำให้ฉันสับสนเล็กน้อย ฉันไม่สามารถหาวิธีง่าย ๆ ในการดูสาขาทั้งหมดในที่เก็บในพื้นที่ของฉันโดยใช้ Git ฉันต้องการทราบว่ากระบวนการ Git ที่ฉันอธิบายนั้นเป็น "มาตรฐาน" หรือไม่และถูกต้องหรือไม่ นอกจากนี้ฉันต้องการทราบวิธีจัดการกับกระบวนการที่ฉันต้องการทำงานในสองสาขาในเวลาเดียวกันในกรณีเช่นฉันต้องสร้างโปรแกรมแก้ไขด่วนบนต้นแบบ แต่เก็บเนื้อหาของสาขาอื่นด้วย ข้อตกลงการใช้ชื่อที่แนะนำในการสร้างโฟลเดอร์ซึ่งรวมถึงการโคลนสาขาจาก repo ใน Git myproject-branchnameคืออะไร?
44 git  github 

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

4
ตรวจสอบโค้ดด้วย git-flow และ gitub
ด้วย git และ gitub ปกติฉันสามารถทำการตรวจสอบโค้ดได้โดยเพียงแค่สร้างคำขอดึงของสาขาฟีเจอร์ที่ฉันกำลังทำงานกับสาขาหลัก ฉันจะตรวจสอบโค้ดด้วย git-flow ได้อย่างไร ด้วยเวิร์กโฟลว์เช่น "ฟีเจอร์การไหลของคอมไพล์เสร็จสิ้น" ฉันสับสนว่าการตรวจสอบโค้ดเกิดขึ้นจริงได้อย่างไรและการไหลเวียนของคอมไพล์หรือคอมไพล์สามารถช่วยในการตรวจสอบได้อย่างไร

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

11
เคยตกลงใช้รหัสไม่ทำงานหรือไม่?
เป็นความคิดที่ดีหรือไม่ที่ต้องส่งรหัสการทำงานเท่านั้น? การมอบหมายนี้ไม่จำเป็นต้องออกจากที่เก็บในสถานะใช้งานเป็น: ... เราอยู่ในช่วงเริ่มต้นของการออกแบบรหัสยังไม่เสถียร ... คุณเป็นผู้พัฒนาเพียงผู้เดียวในโครงการ คุณรู้ว่าทำไมสิ่งต่าง ๆ ไม่ทำงาน นอกจากนี้คุณไม่ได้หยุดการทำงานของใครก็ตามโดยการส่งรหัสที่ผิดพลาด ... รหัสในปัจจุบันใช้งานไม่ได้ เราจะทำการเปลี่ยนแปลงครั้งใหญ่ ลองทำเพื่อที่จะมีประเด็นที่จะย้อนกลับไปสู่สิ่งที่น่าเกลียด ... สายโซ่ยาวไม่มีปัญหาหากมีรหัสที่ใช้ไม่ได้ในสาขาท้องถิ่น กล่าวคือ ไฟล์ท้องถิ่น การจัดเตรียมพื้นที่ มุ่งมั่นในสาขาท้องถิ่น กระทำในสาขาคุณสมบัติส่วนบุคคลระยะไกล ผสานกับdevelopสาขาระยะไกล ผสานกับmasterสาขาระยะไกล ผสานกับreleaseสาขาระยะไกล ... กระทำก่อนกำหนดกระทำบ่อย ๆ ดังนั้นในคำถามที่เชื่อมโยงข้างต้นคำตอบส่วนใหญ่บอกว่าการคอมไพล์โค้ดที่ไม่สามารถคอมไพล์ได้นั้นไม่มีปัญหาในสาขาท้องถิ่นและฟีเจอร์ ทำไม? มูลค่าของการกระทำที่เสียหายคืออะไร? ที่เพิ่มเข้ามา: มีความคิดเห็นที่ได้รับการโหวตสูงสองสามรายการโดยบอกว่าในสาขาท้องถิ่นสามารถทำได้ทุกอย่างที่ต้องการ อย่างไรก็ตามฉันไม่สนใจด้านเทคนิคของคำถาม แต่ฉันต้องการเรียนรู้แนวปฏิบัติที่ดีที่สุด - นิสัยที่คนที่ทำงานมาหลายปีในอุตสาหกรรมมีผลงานมากที่สุด ฉันประหลาดใจกับคำตอบที่ยอดเยี่ยมมากมาย! พวกเขานำฉันไปสู่ข้อสรุปว่าฉันไม่ชำนาญในการใช้สาขาเพื่อจัดระเบียบโค้ดของฉัน

1
ดึงการเปลี่ยนแปลงจาก repo ที่มีการแยกโดยไม่มีการร้องขอบน GitHub หรือไม่?
ฉันใหม่สำหรับชุมชนการเข้ารหัสทางสังคมและไม่ทราบวิธีดำเนินการอย่างถูกต้องในสถานการณ์นี้: ฉันสร้างGitHub Repositoryเมื่อสองสามสัปดาห์ก่อน มีคนแยกโครงการและทำการเปลี่ยนแปลงเล็กน้อยที่ต้องทำ ฉันตื่นเต้นที่มีคนติดตามโครงการของฉันและใช้เวลาในการเพิ่มเข้าไป ฉันต้องการดึงการเปลี่ยนแปลงเป็นรหัสของฉันเอง แต่มีข้อกังวลสองสามข้อ 1) ฉันไม่รู้วิธีดึงการเปลี่ยนแปลงผ่าน git จาก repo ที่มีการแยก ความเข้าใจของฉันคือว่ามีวิธีที่ง่ายในการรวมการเปลี่ยนแปลงผ่านคำขอดึง แต่ดูเหมือนว่าหัวหน้าจะต้องออกคำขอนั้นหรือไม่ 2) เป็นที่ยอมรับหรือไม่ที่จะดึงการเปลี่ยนแปลงโดยไม่มีการร้องขอการดึง เรื่องนี้เกี่ยวข้องกับคนแรก ฉันจะวางรหัสไว้สองสามสัปดาห์แล้วกลับมาพบว่าสิ่งที่ฉันกำลังจะทำต่อไปคือทำโดยคนอื่นและไม่ต้องการคัดลอกรหัสโดยไม่ให้เครดิตในทางใดทางหนึ่ง ไม่ควรจะมีการดึงการเปลี่ยนแปลงแม้ว่าพวกเขาจะไม่ขอให้คุณอย่างชัดเจน? มารยาทที่นี่คืออะไร ฉันอาจจะคิดถึงสิ่งนี้ แต่ขอขอบคุณสำหรับข้อมูลของคุณล่วงหน้า ฉันค่อนข้างใหม่สำหรับชุมชนแฮ็กเกอร์ แต่ฉันต้องการทำสิ่งที่ฉันสามารถมีส่วนร่วม!
40 git  github  etiquette 

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

2
หลักฐานเชิงประจักษ์ของความนิยมของ Git และ Mercurial
ปี 2555! Mercurial และ Git ยังแข็งแกร่งอยู่ ฉันเข้าใจการแลกเปลี่ยนของทั้งสอง ฉันก็เข้าใจว่าทุกคนมีความชอบเหมือนกัน ไม่เป็นไร. ฉันกำลังมองหาข้อมูลเกี่ยวกับระดับการใช้งานของทั้งคู่ ตัวอย่างเช่นในstackoverflow.comการค้นหาGitทำให้คุณได้รับ 12000 เพลงMercurialทำให้คุณได้รับ 3000 Google Trendsกล่าวว่ามันเป็น 1.9: 1.0 สำหรับ Git ข้อมูลเชิงประจักษ์อื่นใดที่สามารถใช้ประมาณการการใช้สัมพัทธ์ของเครื่องมือทั้งสองได้
37 git  mercurial 

3
การนำสาขาที่ผสานมาใช้ซ้ำการปฏิบัติที่ดี?
ปัจจุบันฉันเคยสร้างสาขาใหม่ทุกครั้งที่ฉันต้องเพิ่มฟีเจอร์ใหม่ให้กับแอปพลิเคชันของฉัน เมื่อคุณสมบัติของฉันเสร็จสิ้นและใช้งานได้ฉันจะรวมเข้ากับสาขาหลัก แต่ต่อมาเมื่อฉันต้องการอัปเดตฟีเจอร์นี้ (เช่นการปรับปรุง) มันจะดีกว่าถ้าจะสร้างสาขาใหม่หรือฉันต้องรีบูทก่อนหน้านี้กับมาสเตอร์การอัพเดตจะรวมกันอีกครั้งหรือไม่ ตัวอย่างเช่นฉันมีสาขาที่เรียกว่า modeling-member ในแอปพลิเคชัน Ruby on Rails ต่อมาฉันต้องเพิ่มคุณสมบัติบางอย่างในโมเดลสมาชิก (ซึ่งสร้างในสาขานี้) ฉันควรทำอย่างไร? รีบูทสาขานี้ด้วยมาสเตอร์อัปเดตโมเดลและรวมมันอีกครั้งหรือเพียงแค่สร้างสาขาใหม่
36 git  branching 

8
ควรคอมไพล์ทุกคนออกจากโครงการในสถานะการทำงานหรือไม่
ฉันอยากรู้ว่าการปฏิบัติที่ดีที่สุดคืออะไร ควรคอมไพล์คอมมิชชันบังคับใช้เพื่อให้โครงการอยู่ในสถานะใช้งาน (สร้างอย่างถูกต้องการทดสอบทั้งหมดผ่าน ฯลฯ ) หรือยอมรับรหัสที่ใช้งานไม่ได้? ตัวอย่างเช่นหากคุณสละข้อกำหนดนี้คุณสามารถยืดหยุ่นได้มากขึ้นด้วยการกระทำ (ใช้มันเป็นชิ้นตรรกะแม้ว่าแอปไม่ได้อยู่ในสถานะทำงาน ฯลฯ ) อย่างไรก็ตามหากคุณบังคับใช้คุณจะได้รับความยืดหยุ่นในการเลือกรับความผูกพันใด ๆ ในภายหลัง ...
36 git 

7
การผสานที่มีความซับซ้อนบ่อยครั้งทำให้เกิดความขัดแย้งเป็นสัญญาณของปัญหาหรือไม่?
ในทีมของเราเราใช้ Git เป็นแหล่งควบคุมของเรา เรามีหลายส่วนของรหัสที่เกือบจะเป็นอิสระ แต่มีบางอย่างทับซ้อนกัน เมื่อเร็ว ๆ นี้เราได้พูดคุยเวิร์กโฟลว์และวิธีการใช้การควบคุมแหล่งที่มา การร้องเรียนหนึ่งเรื่องที่เกิดขึ้นเมื่อฉันโปรโมตโดยใช้เวิร์กโฟลว์สาขาคุณลักษณะคือคนมักจะพบกับข้อขัดแย้งที่ซับซ้อนที่พวกเขาแก้ไขไม่ถูกต้อง ตามความซับซ้อนฉันหมายถึง "ไม่ชัดเจนว่าจะแก้ไขอย่างไร" ด้วยเหตุนี้เวิร์กโฟลว์อื่น ๆ จึงถูกใช้อย่างแข็งขันมากขึ้นเช่น "pull rebase" - เวิร์กโฟลว์ที่ใช้ ในฐานะผู้สนับสนุนแนวทางของฟีเจอร์สาขาฉันไม่ได้รับการร้องเรียนจริงๆ ใช่คุณต้องรักษาฟีเจอร์ในท้องที่ให้ทันสมัยอยู่เสมอจากต้นแบบหรือที่ใดก็ตาม แต่นั่นเป็นปัญหาที่แท้จริงที่ฉันเห็น ฉันคิดว่าถ้าการผสานของคุณซับซ้อนและอาจมีผลรองก็แสดงว่าเป็นปัญหาการทำงานเป็นทีมมากกว่าปัญหา Git ฉันถูกต้องในการคิดสิ่งนี้หรือไม่? การผสานที่ซับซ้อนขัดแย้งกับสัญญาณของอะไรดีหรือไม่ดี?

3
การเก็บที่เก็บคอมไพล์บนโฮสต์ที่ต่างกันให้ตรงกัน
ฉันกำลังคิดเกี่ยวกับการเริ่มต้นโครงการขนาดเล็กและฉันต้องการสร้างเวอร์ชันด้วย git Bitbucketเป็นตัวเลือกที่ดีสำหรับฉันด้วยแผนการฟรี ฉันต้องการใช้เป็นเครื่องมือหลักในการทำงานกับ git เนื่องจากมีเครื่องมือที่ดีเช่นเว็บอินเตอร์เฟสไคลเอนต์ Mac OS และอื่น ๆ แต่เพื่อให้มีการป้องกันที่สูงขึ้นจากความเสียหายจากอุบัติเหตุใด ๆ ที่อาจเกิดขึ้นจากการใช้บริการของบุคคลที่สามฉันต้องการติดตั้ง git บน NAS ของฉันเป็นสำเนาสำรองที่สองของที่เก็บ ตอนนี้คำถามของฉันคือว่ามันเป็นไปได้ที่จะสร้างพื้นที่เก็บข้อมูลในสองโฮสต์ที่แตกต่างกันและจากนั้นให้พวกเขาซิงค์? ตัวอย่างเช่นสมมติว่าหนึ่งครั้งต่อสัปดาห์ฉันอัปเดตที่เก็บใน NAS ของฉันเพื่อจับคู่กับ Bitbucket จากนั้นในกรณีที่มีบางอย่างเกิดขึ้นกับ Bitbucket ฉันจะยังคงมีพื้นที่เก็บข้อมูลเต็มรูปแบบที่มีประวัติการพัฒนาเต็มรูปแบบบนพื้นที่เก็บข้อมูล NAS ในพื้นที่ของฉัน และมีวิธีการนำเข้าที่เก็บข้อมูลที่มีประวัติเต็มไปยังบริการ git อื่นหรือไม่? ฉันคิดว่าการมิเรอร์เป็นสิ่งที่ฉันต้องการ นี้บทความดูเหมือนว่าจะอธิบายสิ่งที่ฉันต้องการ และนี้อย่างใดอย่างหนึ่งเช่นกัน ฉันเชื่อว่ามันจะทำสำเนาเต็มรูปแบบที่มีประวัติเต็มรูปแบบและยังมอบเวอร์ชันใหม่ให้กับที่เก็บบนโฮสต์ทั้งสองโดยอัตโนมัติ ฉันถูกไหม?
34 git 

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

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