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

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

8
Git - มีปัญหาอะไรเกิดขึ้นจากการทำงานกับอาจารย์โดยตรง
ฉันได้เห็นคำแนะนำมากมายเกี่ยวกับโมเดลการแยกสาขาของคอมไพล์และความคิดเห็นที่พบบ่อยที่สุดน่าจะเป็นการเปลี่ยนแปลงโดยตรงในสาขาหลักเป็นแนวคิดที่ไม่ดี หนึ่งในเพื่อนร่วมงานของเรามีความสุขมากที่ได้ทำการเปลี่ยนแปลงโดยตรงในสาขาหลักและแม้ว่าจะมีการสนทนาหลายครั้งพวกเขาดูเหมือนจะไม่เปลี่ยนแปลงสิ่งนี้ ในเวลานี้ฉันไม่สามารถโน้มน้าวเพื่อนร่วมงานที่เป็นวิธีปฏิบัติที่ไม่ดีในการทำงานกับอาจารย์โดยตรง แต่ฉันต้องการที่จะเข้าใจสิ่งต่าง ๆ ที่จะขัดแย้งกับวิธีการทำงานของเขา ปัญหานี้

6
ฉันจะเข้าใกล้การผสานที่ซับซ้อนได้อย่างไร
นี่คือข้อตกลงฉันได้เข้าร่วม บริษัท ใหม่และได้รับการขอให้ปิดงานในสาขาที่ไม่ได้สัมผัสมานานเกือบปี ในขณะเดียวกันสาขาหลักมีการเติบโตอย่างต่อเนื่อง เป็นการดีที่ฉันต้องการรวมการเปลี่ยนแปลงทั้งหมดจากสาขาหลักเข้ากับสาขาคุณลักษณะและทำงานต่อจากที่นั่น แต่ฉันไม่แน่ใจว่าจะเข้าใกล้เรื่องนี้อย่างไร ฉันจะทำการผสานนี้อย่างปลอดภัยได้อย่างไรในขณะที่รักษาการเปลี่ยนแปลงที่สำคัญทั้งสองด้านของสาขา

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

4
ทำไมไม่คอมไพล์บรรทัดที่อยู่ติดกันโดยไม่มีความขัดแย้ง
ฉันเพิ่งเรียนรู้ว่าเมื่อรวมสองสาขาในคอมไพล์ถ้ามีการเปลี่ยนแปลงในสองบรรทัดที่อยู่ติดกันคอมไพล์ประกาศความขัดแย้งนี้ ตัวอย่างเช่นหากไฟล์test.txtมีเนื้อหานี้: Line 1: A Line 2: B Line 3: C Line 4: D และในสาขาmasterเราเปลี่ยนสิ่งนี้เป็น Line 1: A Line 2: B1 Line 3: C Line 4: D ในขณะที่สาขาtestingเราเปลี่ยนสิ่งนี้เป็น Line 1: A Line 2: B Line 3: C1 Line 4: D และจากนั้นพยายามที่จะรวมtestingเข้าไปในmasterคอมไพล์ประกาศความขัดแย้งผสาน ความคาดหวังที่ไร้เดียงสาของฉันคือการรวมจะเกิดขึ้นโดยไม่มีความขัดแย้งและให้สิ่งนี้: Line 1: A Line 2: B1 Line 3: …
25 git  merging 

6
DVCS (git หรือ hg) ใดที่เหมาะสำหรับการเขียนโปรแกรมนักเรียน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา บริบท: ฉันอยู่ในชั้นปีที่ 3 ของวิทยาลัย นักเรียนแบ่งออกเป็นกลุ่มละ 4 คนเกือบทุกคนจะทำงานภายใต้หน้าต่าง (ยกเว้นบางคนที่อยู่บน linux) เป็นส่วนหนึ่งของหลักสูตรของโรงเรียนเราจะเริ่มต้นทำงานในโครงการสำหรับลูกค้าจริง แต่ฉันและทีมอื่นกำลังสงสัยว่าวิธีใดที่ดีที่สุดสำหรับการแบ่งปันรหัสของเรากับแต่ละอื่น ๆ ฉันทำงานพาร์ทไทม์เป็นเวลา 3 ปีและมีประสบการณ์มากมายในการใช้ทั้งคอมไพล์และ Mercurial ในโปรเจคที่แตกต่างกันดังนั้นฉันจึงไม่มีปัญหาในการใช้ระบบใดระบบหนึ่งหรือระบบอื่น อย่างไรก็ตามเพื่อนร่วมทีมของฉันไม่เคยใช้ระบบควบคุมเวอร์ชันมาก่อน นอกจากนี้ยังมีทีมอื่นที่พยายามใช้ SVN แต่มีปัญหาใหญ่และอยากลองใช้อย่างอื่นดังนั้นพวกเขาจึงถามความคิดเห็นของฉัน ความคิดของฉัน: ฉันได้ยินมาว่า Mercurial + TortoiseHg มีการรวมที่ดีขึ้นภายใต้ windows แต่ฉันสงสัยว่าแนวคิดของหัวหน้าที่ไม่ระบุชื่ออาจทำให้พวกเขาสับสนแม้ว่าฉันจะอธิบาย ในทางกลับกันฉันพบว่ากิ่ง git นั้นง่ายกว่าสำหรับผู้เริ่มต้นที่จะเข้าใจ (แยกการทำงานที่ชัดเจนสำหรับโปรแกรมเมอร์แต่ละคน) แต่ไม่สามารถทำงานได้ดีในหน้าต่าง

4
จะใช้ github, branch และรีลีสอัตโนมัติสำหรับการจัดการเวอร์ชั่นได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันเข้าใจแนวคิดพื้นฐานของ Git / Github ส่วนใหญ่แล้วในตอนนี้อย่างไรก็ตามฉันยังคงมีปัญหาในการเข้าใจภาพรวมที่ใหญ่ขึ้น นี่คือบางสิ่งที่ฉันสามารถทำให้ทำงานได้จนถึงตอนนี้: ผลักดันมุ่งมั่น ทำงานกับสาขา รวม Github กับ Travis CI ซึ่งเป็นระบบการรวมอย่างต่อเนื่อง Via Travis CI สร้างโดยอัตโนมัติทุกคอมมิทถึงมาสเตอร์และวางจำหน่ายเป็น ZIP บน Github ภายใต้รีลีส อย่างไรก็ตามฉันเพิ่งทำงานกับโปรเจ็กต์เวอร์ชันอัลฟ่า / เบต้าเท่านั้นดังนั้นฉันจึงไม่เคยเห็นเวอร์ชันที่เผยแพร่ในทางปฏิบัติเลย ดังนั้นฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการกำหนดรุ่นการบำรุงรักษารุ่นแยกต่างหากการแก้ไขด่วนรุ่น ฯลฯ ฉันจะมั่นใจได้อย่างไรว่าสิ่งต่าง ๆ ต่อไปนี้เกิดขึ้น: มีเวอร์ชันของโครงการต่าง ๆ ของฉันเช่นเวอร์ชัน 1.1.0 และ 2.0.0 มีความสามารถในการผลักดันโปรแกรมแก้ไขด่วนในรุ่นเรียงลำดับของกระแทกกับรุ่น 1.1.1 หรือ 2.0.1 เป็นต้น สร้างระบบการรวมอย่างต่อเนื่องสร้างรุ่นนั้นโดยอัตโนมัติเมื่อกระทำและหากสำเร็จให้เผยแพร่รุ่นสำหรับรุ่นนั้นโดยเฉพาะ ฉันสงสัยระหว่างตัวเลือกต่อไปนี้: …

2
Git แข็งแกร่งแค่ไหนเมื่อพลังดับ?
วันหนึ่งฉันใช้ Git (ฉันยังใช้อยู่) และไฟฟ้าดับลงในขณะที่ฉันกำลังคอมมิท เมื่อฉัน (ที่จริงแล้วไฟฟ้า) กลับมา, repo คอมไพล์เสียหาย ฉันจำชื่อที่แน่นอนไม่ได้ แต่มันก็เหมือนกับ "refs ที่ไม่ถูกต้อง" หรืออะไรทำนองนั้น มันง่ายที่จะคาดเดาว่าการกระทำผิดปกติในระหว่างการดำเนินการ (ฉันกระทำผ่าน IntelliJ ซึ่งทำการเพิ่มดัชนีโดยอัตโนมัติ) นอกจากนี้ยังง่ายต่อการคาดเดาว่าที่จริงแล้ว 'กระทำ' ไม่ได้เป็นกรดเช่นเดียวกับการดำเนินงาน DBMS ที่มีชื่อเดียวกัน ถาม : มีวิธีใดบ้างที่จะทำให้มั่นใจได้ว่าการดำเนินการซื้อคืนที่มีการเปลี่ยนแปลงนั้นเป็นไปตามอะตอม เช่นถ้ากระแสไฟฟ้าดับลงอีกครั้งและฉันยอมรับฉันต้องการให้ระบบไฟล์ของฉันไม่อยู่ในสถานะที่เสียหาย
24 git 

4
คุณจะวางไลบรารี่ต่าง ๆ ในการควบคุมเวอร์ชันได้อย่างไร? คุณใช้แท็กหรือไม่ หรือสาขา หรือวิธีอื่น
ฉันเพิ่งเริ่มวางโค้ดของฉันภายใต้การควบคุมเวอร์ชัน (ในแล็บที่ฉันทำงานอยู่ภายใต้ SVN และรหัสของฉันเองใน GitHub (เห็นได้ชัดกับ git) ก่อนที่จะใช้การควบคุมเวอร์ชันฉันเคยทำอะไรแบบนี้ ฉันมีโฟลเดอร์ชื่อห้องสมุดในหลาย ๆ โฟลเดอร์ที่มีหมายเลขเวอร์ชัน ทุกครั้งที่ฉันต้องการเริ่มทำงานกับเวอร์ชันที่ใหม่กว่าฉันจะทำสำเนาของเวอร์ชันล่าสุดเปลี่ยนชื่อเป็นเวอร์ชันใหม่และเริ่มนำไปใช้ อย่างไรก็ตามวิธีนี้ดูเหมือนจะซ้ำซ้อนเมื่อโฟลเดอร์อยู่ภายใต้การควบคุมเวอร์ชัน นอกเหนือจากความซ้ำซ้อนหากมีคนต้องการรับรุ่นล่าสุดพวกเขาจะดาวน์โหลดทุกรุ่นถ้าเขาเพียงแค่imports / clones ตอนนี้ฉันเห็นหลายวิธีในการทำเช่นนี้ด้วยการควบคุมเวอร์ชัน แต่เนื่องจากฉันใหม่สำหรับมันฉันไม่ทราบว่าจะบำรุงรักษาได้ดีกว่า วิธีที่ 1: ใช้แท็ก หากฉันเข้าใจแท็กอย่างถูกต้องคุณจะมีสาขาหลักของคุณคุณยอมรับการเปลี่ยนแปลงใด ๆ ที่คุณได้รับและแท็กด้วยเวอร์ชัน จากนั้นเมื่อคุณต้องการได้รับสำเนาที่ใช้งานได้คุณจะได้รับแท็กที่แน่นอน (ช่วยแก้ให้ด้วยนะถ้าฉันผิด) วิธีที่ 2: เวอร์ชันการแยกสาขา ในวิธีนี้สาขาหลักจะเป็นสาขาการพัฒนา ทุก ๆ ครั้งที่มีการสร้างเวอร์ชันที่เสถียร (สมมติว่าv1.2.0) คุณสร้างสาขาสำหรับเวอร์ชันนั้นและไม่ผูกมัด ด้วยวิธีนี้หากคุณต้องการดาวน์โหลดเวอร์ชันใดรุ่นหนึ่งคุณจะได้รับรหัสจากสาขานั้น แม้ว่าฉันจะบอกว่าคุณไม่เคยยอมทำ แต่ก็เป็นไปได้ที่จะแก้ไขข้อผิดพลาดและผูกมัดกับสาขาของรุ่นเก่าเพื่อให้รุ่นเก่าทำงานต่อไป ตัวอย่างเช่นหากรุ่นปัจจุบันคือv2.0แต่มีคนที่ต้องการใช้v1.2คุณสามารถรับสาขาอื่นจากv1.2คือv1.2.1และกระทำการแก้ไขข้อบกพร่องหรือเพียงแค่ทำให้รุ่นเดียวกันv1.2และเพียงแค่แก้ไขข้อผิดพลาด ดังนั้นกิ่งจะเป็นดังนี้: v1.2.1 v1.2.2 / / v1.0.0 v1.2.0--------- v2.0.0 / / / …

9
การใช้ Git ในสภาพแวดล้อมแบบองค์กร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา Git เป็นระบบควบคุมเวอร์ชันที่ยอดเยี่ยม หากเราแยกความจริงที่ว่ามันไม่มีการสนับสนุน GUI ที่ยอดเยี่ยมมันดีและรวดเร็วจริงๆ แต่การควบคุมแหล่งที่มาเช่น Clearcase ได้รับการสนับสนุนอย่างมากสำหรับลูกค้าองค์กร บริษัท ต่าง ๆ ลงทุนจำนวนมหาศาลสำหรับเซิร์ฟเวอร์และ licesense แหล่งควบคุม ในบรรดา บริษัท ขนาดใหญ่ส่วนใหญ่อย่าง Google นั้นใช้ Git ผ่านระบบควบคุมเวอร์ชันอื่น ๆ แต่ บริษัท นี้มีกลุ่มโอเพ่นซอร์สที่แข็งแกร่งซึ่งให้การพัฒนาและสนับสนุนเครื่องมืออย่างสม่ำเสมอ (พวกเขาอาจมี Git รุ่นที่กำหนดเองของพวกเขาเอง) ในขณะเดียวกัน บริษัท ขนาดใหญ่ก็ไม่ได้กังวลเกี่ยวกับการยอมรับโครงการโอเพ่นซอร์สและทำให้พวกเขาเกี่ยวข้องกับพวกเขา Git เป็นเครื่องมือที่เชื่อถือได้สำหรับสภาพแวดล้อมขององค์กรโดยเฉพาะบนแพลตฟอร์ม Windows หรือไม่? การสนับสนุนเป็นปัญหาสำหรับ Git เนื่องจากเป็นผลิตภัณฑ์โอเพ่นซอร์ส มี บริษัท ใดบ้างที่ให้บริการโซลูชั่นและการสนับสนุน? ค่าใช้จ่ายของเซิร์ฟเวอร์เป็นอย่างไรเมื่อเปรียบเทียบกับการควบคุมเวอร์ชันอื่นเช่น Clear-case?

6
การแยกความคืบหน้าการเข้ารหัสให้เป็นความมุ่งมั่นที่มีความหมายโดยไม่มีค่าใช้จ่ายมากเกินไป
เมื่อทำงานกับการแก้ไขหรือคุณสมบัติบางครั้งฉันสะดุดปัญหาเล็ก ๆ อื่น ๆ ที่สามารถปรับปรุงได้ทันทีในไม่กี่วินาที เมื่อฉันทำพวกเขาทันทีจากนั้นส่งมอบคุณสมบัติ / แก้ไขที่เสร็จสิ้นแล้วคอมมิชชันมีมากกว่าหนึ่งสิ่ง ยกตัวอย่างเช่นหรือ"add feature X and code clean up" "fix bug X and improved logging"มันจะเป็นการดีกว่าถ้าคุณแยกมันออกเป็นสองคอมมิชชัน ในกรณีที่การเปลี่ยนแปลงสองอย่างเกิดขึ้นในไฟล์เดียวกันฉันไม่สามารถเพิ่มไฟล์เดียวคอมมิทเพิ่มและอีกครั้ง ดังนั้นฉันเห็นสามตัวเลือกต่อไปนี้: จงใจมองข้ามสิ่งที่ไม่เกี่ยวข้องขณะทำงานกับบางสิ่ง คัดลอกไฟล์ที่มีการเปลี่ยนแปลงสองรายการย้อนกลับรวมการเปลี่ยนแปลงหนึ่งกระทำรวมถึงการเปลี่ยนแปลงอื่นกระทำอีกครั้ง อย่าเปลี่ยนสิ่งเล็ก ๆ ที่ไม่เกี่ยวข้อง แต่เพิ่มไปยังรายการสิ่งที่ต้องทำและทำในภายหลัง ฉันไม่ชอบทั้งสามตัวเลือกเพราะเหตุผลดังต่อไปนี้: คุณภาพของรหัสอาจประสบได้หากไม่สามารถแก้ไขปัญหาเล็ก ๆ ได้ และฉันก็รู้สึกไม่ดีถ้าฉันพลาดโอกาสที่จะปรับปรุงบางสิ่งโดยไม่ต้องใช้ความพยายามมาก นี่เป็นการเพิ่มการทำงานด้วยตนเองและเกิดข้อผิดพลาดได้ง่าย นี่เป็นสิ่งที่ดีสำหรับโทโดที่ไม่ได้เล็ก แต่เพิ่มไอเท็มเล็ก ๆ ลงในรายการสิ่งที่ต้องทำและกลับมาอีกครั้งในภายหลังมักใช้เวลานานกว่าการแก้ไขทันที คุณจัดการกับสถานการณ์เช่นนี้ได้อย่างไร?

5
ทำไมผู้ใช้ Git ถึงบอกว่าการโค่นล้มไม่มีซอร์สโค้ดทั้งหมดในเครื่อง?
ฉันแค่ทำตามที่ฉันอ่านดังนั้นยกโทษให้ฉัน แต่ทั้งหมดที่ฉันอ่านบอกว่าข้อดีอย่างหนึ่งที่สำคัญของ Git over Subversion คือ Git มอบโค้ดต้นฉบับทั้งหมดให้กับนักพัฒนาในพื้นที่โดยไม่ต้องทำอะไรเลย เซิฟเวอร์. ด้วยการใช้ SVN และ TortoiseSVN ที่ จำกัด ของฉันฉันมีซอร์สโค้ดทั้งหมดหรืออย่างน้อยฉันก็คิดว่าฉันทำ ตัวอย่างเช่นฉันมีเว็บไซต์ ฉันอัปโหลดไปยัง SVN ฉันยังคงเปิดใช้งานเว็บไซต์ของฉันอยู่ภายในเครื่องใช่ไหม หากมีคนส่งการเปลี่ยนแปลง แต่ฉันไม่ได้เชื่อมต่อจะไม่เป็นไรถ้าฉันมี Git หรือไม่จนกว่าฉันจะเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้ง ฉันไม่เข้าใจ. ฉันไม่ได้ขอให้มีการรีบาวด์หนึ่งกับอีกอันหนึ่งยกเว้นจุดนี้
23 git  svn 

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

5
จะทำอย่างไรกับประวัติ svn ขนาดใหญ่เมื่อย้ายไปคอมไพล์?
แก้ไข: ไม่เหมือนคำถามที่คล้ายกันเช่นการย้าย repo SVN หลาย GB ไปยัง Git หรือ /programming/540535/managing-large-binary-files-with-git สถานการณ์ของฉันไม่เกี่ยวข้องกับโครงการย่อยหลายโครงการ สามารถแปลงเป็น submoduels คอมไพล์ได้อย่างง่ายดายหรือไฟล์ไบนารี่ขนาดใหญ่สองสามตัวที่เหมาะสำหรับ git-annex มันเป็นพื้นที่เก็บข้อมูลเดียวที่ไบนารีเป็นชุดทดสอบที่คู่กับรหัสแหล่งที่มาหลักของการแก้ไขเดียวกันแน่นเหมือนว่าพวกเขาเป็นสินทรัพย์เวลารวบรวมเช่นกราฟิก ฉันกำลังตรวจสอบการสลับพื้นที่เก็บข้อมูลขนาดกลาง / ขนาดใหญ่ (ผู้ใช้ 50 ราย, รุ่น 60k, ประวัติ 80GB, สำเนาทำงาน 2Gb) จาก svn เมื่อจำนวนผู้ใช้เพิ่มขึ้นมีจำนวนมากในลำตัวและคุณลักษณะมักจะแพร่กระจายออกไปในหลายคอมมิททำให้การตรวจสอบโค้ดทำได้ยาก นอกจากนี้หากไม่มีการแตกแขนงออกมาจะไม่มีวิธี "รหัส" ที่ไม่ดีออกความคิดเห็นสามารถทำได้หลังจากมีการผูกมัดลำต้นเท่านั้น ฉันกำลังตรวจสอบทางเลือก ฉันหวังว่าเราสามารถย้ายไปคอมไพล์ แต่ฉันมีปัญหาบางอย่าง ปัญหาของการซื้อคืนในปัจจุบันจนถึงขนาดของคอมไพล์คือขนาด มี cruft เก่าจำนวนมากอยู่ในนั้นและการทำความสะอาดด้วย - ฟิลเตอร์สาขาเมื่อแปลงเป็นคอมไพล์สามารถลดขนาดลงตามลำดับความสำคัญประมาณ 5-10GB นี่ยังใหญ่เกินไป เหตุผลที่ดีที่สุดสำหรับขนาดพื้นที่เก็บข้อมูลขนาดใหญ่คือมีเอกสารไบนารีจำนวนมากที่ถูกป้อนเข้าสู่การทดสอบ ไฟล์เหล่านี้แตกต่างกันระหว่าง. 5mb และ 30mb …
23 git  svn 

3
ทีมงานควบคุมคุณภาพควรทำการทดสอบในรูปแบบการแยกสาขาของ Gitflow
เราเป็นทีมใหญ่ (นักพัฒนา 10-12 คนและ 4 คน) ทำงานหลายโครงการด้วยที่เก็บ git เดียวกัน มันเป็นบริการเว็บแบ็กเอนด์ในฤดูใบไม้ผลิตาม เรากำลังมองหาการแยกทางและใช้กลยุทธ์ที่ดี นอกจากนี้เรายังมีทีมงาน qa ที่ทำให้มั่นใจว่าคุณสมบัติของเราทำงานได้ตามที่คาดไว้ (ปราศจากข้อบกพร่องในระดับหนึ่ง) หลังจากอ่านบทความไม่กี่ฉันรู้สึกว่าแบบจำลองGitflowทำงานได้ดีสำหรับเรา ที่นี่คำถามของฉันมา ทีม QA ของเราควรทดสอบคุณสมบัติของเราที่ไหน? พวกเขาควรทดสอบสาขาคุณลักษณะที่พวกเขาจะเพิ่มข้อผิดพลาดและนักพัฒนาจะแก้ไขและเมื่อผ่านการทดสอบ QA เรารวมการพัฒนา และ QA จะทำการทดสอบจำนวนเต็มอีกครั้งในสาขาที่กำลังพัฒนา เราควรรวมคุณสมบัติทั้งหมด (หลังการทดสอบหน่วยและการทดสอบพื้นฐานจากผู้พัฒนา) เพื่อพัฒนาสาขาและให้ทดสอบ qa จากที่นั่น การแก้ไขและการทดสอบทั้งหมดจะเกิดขึ้นในการพัฒนาเช่นกัน ฉันอยากรู้ว่าวิธีการใดที่ทำงานได้ดีสำหรับผู้อื่น
23 testing  git  branching  qa  gitflow 

4
ในโฟลว์ GitHub มันตกลงหรือไม่ที่จะแยกสาขาฟีเจอร์ในสาขาฟีเจอร์อื่น?
เราใช้GitHub ไหลในโครงการของเราและส่วนใหญ่เวลาที่เราเปิดสาขาคุณลักษณะใหม่จากต้นแบบ , ทำงานบางอย่างมีเปิด PR ตรวจสอบรหัสและการผสานกลับเข้าไปในต้นแบบ feature-branch-Aแต่การทำงานในปัจจุบันของฉันขึ้นอยู่กับปัญหาที่กำลังทำงานอยู่ในการควบคุม มันเป็นโคเชอร์ที่จะสร้างสาขาของฉันจากสาขาอื่นหรือต่อต้านวิญญาณของ GitHub Flow หรือไม่? ทางเลือกอื่นคือการยึดสาขาของฉันไว้ที่หลักและผสานการเปลี่ยนแปลงจากfeature-branch-A(บ่อยครั้ง) ต้องการตัวเลือกใดในโฟลว์ GitHub?
22 git  github  gitflow 

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