การใช้ Git ในสภาพแวดล้อมแบบองค์กร [ปิด]


24

Git เป็นระบบควบคุมเวอร์ชันที่ยอดเยี่ยม หากเราแยกความจริงที่ว่ามันไม่มีการสนับสนุน GUI ที่ยอดเยี่ยมมันดีและรวดเร็วจริงๆ แต่การควบคุมแหล่งที่มาเช่น Clearcase ได้รับการสนับสนุนอย่างมากสำหรับลูกค้าองค์กร บริษัท ต่าง ๆ ลงทุนจำนวนมหาศาลสำหรับเซิร์ฟเวอร์และ licesense แหล่งควบคุม

ในบรรดา บริษัท ขนาดใหญ่ส่วนใหญ่อย่าง Google นั้นใช้ Git ผ่านระบบควบคุมเวอร์ชันอื่น ๆ แต่ บริษัท นี้มีกลุ่มโอเพ่นซอร์สที่แข็งแกร่งซึ่งให้การพัฒนาและสนับสนุนเครื่องมืออย่างสม่ำเสมอ (พวกเขาอาจมี Git รุ่นที่กำหนดเองของพวกเขาเอง) ในขณะเดียวกัน บริษัท ขนาดใหญ่ก็ไม่ได้กังวลเกี่ยวกับการยอมรับโครงการโอเพ่นซอร์สและทำให้พวกเขาเกี่ยวข้องกับพวกเขา

  • Git เป็นเครื่องมือที่เชื่อถือได้สำหรับสภาพแวดล้อมขององค์กรโดยเฉพาะบนแพลตฟอร์ม Windows หรือไม่?
  • การสนับสนุนเป็นปัญหาสำหรับ Git เนื่องจากเป็นผลิตภัณฑ์โอเพ่นซอร์ส
  • มี บริษัท ใดบ้างที่ให้บริการโซลูชั่นและการสนับสนุน? ค่าใช้จ่ายของเซิร์ฟเวอร์เป็นอย่างไรเมื่อเปรียบเทียบกับการควบคุมเวอร์ชันอื่นเช่น Clear-case?

2
ฉันไม่ทราบว่า Google ใช้คอมไพล์ฉันเข้าใจว่าพวกเขาเลือกใช้ Mercurial และคุณจะต้องโน้มน้าวใจฉันเกี่ยวกับ บริษัท ขนาดใหญ่อื่น ๆ ด้วย - คุณมีตัวอย่างหรือไม่?
Benjol

4
มีการสนับสนุน GUI ที่ยอดเยี่ยม เพียงเลือกระบบปฏิบัติการที่ดี

2
@Benjol - กระทู้นี้อาจให้ข้อมูลเชิงลึกแก่คุณ quora.com/…
sarat

1
@sarat ฉันรู้ว่า Twitter คุ้มค่ากับเงินเป็นจำนวนมาก แต่ฉันจะไม่จัดให้มันเป็นองค์กรขนาดใหญ่ // ฉันไม่รู้ว่าcode.google.comgit ที่รองรับมันเป็นข่าวใหม่มากและฉันไม่แน่ใจว่าคุณสามารถเรียกได้ว่าใช้ git ผ่านการควบคุมเวอร์ชันอื่น [เดิม] ( code.google.com/p/support/wiki/DVCSA การวิเคราะห์)พวกเขาตัดสินใจอย่างชัดเจนว่า Mercurial เหนือ git
Benjol

@Benjol ในผมทั่วไปไม่สามารถบอกได้ แต่ repo ฝรั่งประชาชนได้ย้ายเพียงเพื่อคอมไพล์
maaartinus

คำตอบ:


37

GitHub ไม่ใช่การควบคุมเวอร์ชัน - เป็น "โฮสต์" ระบบควบคุมเวอร์ชันที่เรียกว่า "Git" นอกเหนือจากการเล่นสำนวนนี่เป็นความแตกต่างที่สำคัญมาก - รู้ดี

เกี่ยวกับการใช้งานขององค์กรฉันสามารถบอกคุณได้ว่าคอมไพล์นั้นฉลาด (และสะดวกสบายและดีกว่า) เหมือนกับ SVN และคุณสามารถเลือกกลยุทธ์การควบคุมเวอร์ชันที่เหมาะสม (เวิร์กโฟลว์) ตามขนาดและขอบเขตของโครงการ (และทีมของคุณ) ระบบที่ไม่กระจายไม่สามารถให้ความยืดหยุ่นแก่คุณได้

ป้อนคำอธิบายรูปภาพที่นี่

สำหรับ Windows ตรวจสอบMsysgitหรือVisual Studio Extensions สำหรับ Git - git ทำงานได้ดีบน Windows นอกจากนี้ผู้ใช้ windows ดูชุดฝึกอบรมนี้จาก TekPub - เป็น Windows ทั้งหมด

อัพเดท [ก.พ. 2556] เริ่มต้นใช้งานคอมไพล์ใน visual studio

คำถามของคุณไม่ใช่เรื่องแปลกและคุณสามารถ google เกี่ยวกับมันและได้รับข้อความมากมายอธิบายว่าทำไมและอย่างไร (และไม่ว่า) จะใช้ git ในองค์กร

ยังไม่ชอบ Git เหรอ? ดูที่ DVCS อื่นที่เรียกว่าMercurial


12
Msysgit ไม่ใช่พลเมือง Windows ที่แท้จริง มันใช้งานได้ดี แต่แทบจะไม่พื้นเมือง 100%
Yann Ramin

+1 เพื่อชี้ประเด็นสำคัญบางประการเกี่ยวกับ Git แม้ว่า @greengit ชี้ให้เห็นตัวเลือกต่าง ๆ ที่เป็นไปได้สำหรับการใช้ Git ภายใต้ Windows แต่มันก็ยังห่างไกลจากการผนวกรวมเช่น SVN
tehnyit

เราใช้ Eclipse ซึ่งได้รับการสนับสนุน git ที่ดี

1
ฉันคิดว่า gitolite (หรือคล้ายกัน) สมควรได้รับการกล่าวถึงที่นี่ คนด้านความปลอดภัยจำนวนมากเช่นคนในพื้นที่ปิดตัวเองและอยู่ในตัวเลือกการควบคุมการโฮสต์ repo ในพื้นที่
Nic

2
@YannRamin: Msysgit เป็นพลเมือง Windows จริง ๆ และเป็นเจ้าของ 100% มันมาพร้อมกับยูนิกซ์เชลล์ที่ใช้การประชุมที่แตกต่างกันเล็กน้อย แต่นั่นคือเชลล์ไม่ใช่คอมไพล์ คุณสามารถใช้ Msysgit จาก cmd.exe หรือกระบวนการอื่น ๆ ของ windows เช่นเดียวกับแอปพลิเคชันทั่วไป (Cygwin นั้นแตกต่างกัน แต่ Msys ไม่ใช่ cygwin)
Jan Hudec

16

+1 Mercurial

Mercurial นั้นเท่ห์ง่ายมี GUI ที่ใช้งานง่ายและรู้สึกเป็นมืออาชีพมากขึ้น ฉันไม่เคยเข้าใจว่าทำไม Git ถึงมีโฆษณาเช่นนี้ในขณะที่ผู้ยิ่งใหญ่อื่น ๆ อยู่ในเงา Mercurial ได้รับการสนับสนุนโดย google code, bitbucket.org (เทียบเท่ากับ GitHub), eclipse ... ฉันใช้มันมาสองปีแล้วและมีความสุขกับมันเสมอ

แก้ไขกุมภาพันธ์ 2014:

ในระหว่างนี้ Git ได้เป็นผู้นำที่ฉันจะให้คำแนะนำแก่ Mercurial สามปีที่แล้ว Mercurial นั้น IMHO ยิ่งสะอาดและดีกว่า อย่างไรก็ตามโฆษณานั้นอยู่ด้าน Git และโมเมนตัมที่ได้รับนับจากนั้นทำให้มันเป็นผู้ชนะที่ชัดเจน ตอนนี้มันเป็นมาตรฐาน de-facto เพราะชุมชนขนาดใหญ่


Git นั้นมีประสิทธิภาพมากกว่าในแง่ที่ว่าคุณสามารถจัดการกับประวัติศาสตร์ได้อย่างไร ผู้คนจำนวนมากจะเลือกที่จะรวมสาขาในพื้นที่จากนั้นรีบูตพวกเขาเป็นสาขาฉีดครั้งเดียวก่อนที่จะผลักดันไปยัง repo หลัก / สาธารณะ วิธีการที่ประวัติศาสตร์ในระยะยาวยังคงสะอาดมาก เท่าที่ฉันสามารถบอกได้ครั้งสุดท้ายที่ฉันใช้ HG, Mercurial ไม่สนับสนุนการแก้ไขประวัติศาสตร์ประเภทเหล่านั้น โดยทั่วไปแล้วคอมไพล์ใน Windows แย่ไปกว่า; เครื่องมือ gui ที่ดีที่สุด (git-cola, gitk) เพื่อใช้งานได้เฉพาะบน Linux
Evan Plaice

1
ฉันแทบจะไม่พูดว่า Git ประสบความสำเร็จเนื่องจากโฆษณา: ครั้งสุดท้ายที่ฉันตรวจสอบรูปแบบแบ็กเอนด์ของ Mercurial นั้นเป็นแบบเดลต้า โมเดลพื้นฐานของ Git นั้นส่วนใหญ่เป็นแบบเขียนอย่างเดียวที่มีการเปลี่ยนแปลงอะตอม มันเป็นแค่เสียงทางเทคนิคที่มากกว่า
Stuart P. Bentley

@ StuartP.Bentley: คุณหมายถึงอะไรโดยการคอรัปชั่น?
dagnelies

ทันใดนั้นหยุดกระบวนการในระหว่างการคัดลอกย้ายเขียนบนดิสก์หรือเครือข่าย: ใน Git สิ่งนี้จะสร้างวัตถุที่จำได้ทันทีว่าเป็นขยะ (เนื่องจากเนื้อหาไม่ตรงกับแฮช) และแม้ว่าคุณจะ เสียบางสิ่งบางอย่างในกึ่งกลางคุณสามารถตรวจสอบสิ่งที่คุณได้รับและนำสิ่งต่าง ๆ กลับมารวมกันจากที่นั่น
Stuart P. Bentley

ในขณะเดียวกันรูปแบบที่ใช้เดลต้าที่เก็บข้อมูลทั้งหมดของพวกเขาเกี่ยวกับการเปลี่ยนแปลงในไฟล์เดียวเช่น Mercurial อาจมีอุบัติเหตุเล็กน้อย (วางสายที่อธิบายการเปลี่ยนแปลงตัวอย่างเช่น) ที่ทำให้ไฟล์แตกในลักษณะเช่น Humpty Dumpty มันเป็นไปไม่ได้ที่จะนำกลับมารวมกันอีกครั้ง
Stuart P. Bentley

8

ฉันรู้ว่าhttps://github.com/ให้การสนับสนุนเกี่ยวกับที่เก็บส่วนตัวสำหรับองค์กร

โดยเฉพาะพวกเขาให้บริการที่เรียกว่าการติดตั้งไฟร์วอลล์http://fi.github.com/ พวกเขาอ้างว่าให้การสนับสนุน แต่ไม่มีรายละเอียดการโพสต์ออนไลน์และฉันไม่เคยใช้พวกเขา

ค่าใช้จ่าย 5,000 ดอลลาร์ต่อคน 20 คนต่อปี


-1 ไม่ตอบคำถามของเขาเลย
MattyD

13
เขาขอ บริษัท ที่ให้บริการโซลูชั่นและการสนับสนุน Github มีโซลูชัน git โฮสติ้งสำหรับองค์กรโดยเฉพาะสำหรับ บริษัท ไม่ตอบคำถามแรก มันเรียงลำดับของคำตอบสำหรับคำถามที่สอง มันตอบคำถามที่สาม
c00w

ว้าวราคาของ FI เปลี่ยนแปลงไปเมื่อใด ล่าสุดฉันตรวจสอบมันเป็นสิ่งที่ชอบ 200-250 $ / เดือนและตอนนี้มันเป็น oO สองครั้ง
wildpeaks

8

ฉันใช้ทั้ง Git และ Mercurial บน Windows และทั้งสองก็ใช้ได้มากกว่า ฉันคิดว่าเครื่องมือ GUI สำหรับ Mercurial นั้นดีกว่าดังนั้นหากทีมของคุณคุ้นเคยกับเครื่องมือแสดงผลมันอาจเหมาะสมกว่า ฉันมักจะใช้ commandline แม้ว่า - สำหรับฉันมันก็สมเหตุสมผลมากขึ้น

ทั้งในประสบการณ์ของฉันมีกระสุน คุณไม่จำเป็นต้องมี 'การสนับสนุน' เช่นนี้แม้ว่าฉันจะรู้ว่าองค์กรจำนวนมากต้องการที่จะมี

ฉันแน่ใจว่ามีคนอื่น แต่ก็คุ้มค่าที่จะดูKilnซึ่งเป็นวิธีแก้ปัญหาแบบโฮสต์

โปรดทราบ - ไม่ว่าคุณจะไปทางไหน DVCS นั้นค่อนข้างแตกต่างจาก VCS ทั่วไป IMHO พวกมันยอดเยี่ยมในเกือบทุกด้าน แต่อาจต้องใช้เวลาพอสมควร


2
อาจใช้เวลาสักครู่เพื่อทำความคุ้นเคย // ฉันจำได้ว่าฉันเกลียด Git มากแค่ไหนในช่วงสองวันที่มีการปรับตัวจาก SVN
c69

6

git เป็นภาษาต่างประเทศสำหรับนักพัฒนา Windows มันไม่ใช่พลเมืองชั้นหนึ่งอย่างแท้จริง มันใช้งานได้ดี แต่เป็นเครื่องมือ Linux อันดับแรก ตัวอย่างเช่นรูปแบบเซิร์ฟเวอร์ของ git นั้นต้องการล็อกอิน SSH เพื่อความปลอดภัย

การสนับสนุนเป็นคำถามและมี บริษัท ที่สามารถให้บริการมักจะมาพร้อมกับโซลูชันที่โฮสต์

Git เป็นที่รู้จักกันดีว่าไม่ต้องใช้เซิร์ฟเวอร์ขนาดใหญ่เนื่องจากที่เก็บข้อมูลจะเพิ่มความจุและความเร็ว io ให้มากขึ้นเป็นสิ่งสำคัญเสมอ แต่เนื่องจากการทำงานส่วนใหญ่เกิดขึ้นเฉพาะในคอมพิวเตอร์ของคุณ

สำหรับสิ่งที่คุ้มค่า บริษัท ที่ไม่ได้เป็นองค์กรของเราที่มีน้อยกว่า 100 รายนั้นเป็นผู้ใช้งานระบบคอมพิวติ้งขนาดใหญ่บน Windows ที่มีโครงการ Java และ C


1
แม้ว่ามันจะเล่นซอและขุดเอกสารเป็นจำนวนมาก แต่ฉันก็ต้องใช้ GIT ทำงานได้ดีกับการพิสูจน์ตัวตน HTTP พื้นฐานผ่าน SSL ที่ได้รับการสนับสนุนโดยเซิร์ฟเวอร์ LDAP
DoubleMalt

1
ระวังช่องว่าง / สิ้นสุดบรรทัดถ้าคุณวางแผนที่จะพอร์ตอะไรกับ Linux มันน่าเกลียดถ้าคุณไม่ได้ตื่นตัวตั้งแต่แรก
Evan Plaice

ตอนนี้ Git สร้างขึ้นใน VS 2013 ขึ้นไป MS ทำให้เป็นพลเมืองชั้นหนึ่ง
Clay Smith

5

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

ข้อเสนอแนะของฉันในตอนแรกคือคุณลองใช้คอมไพล์ในโครงการนำร่องและดูว่ามันทำงานอย่างไรสำหรับทีมของคุณ รับพื้นที่เก็บข้อมูลที่ปลอดภัยบน GitHub และคุณพร้อมสำหรับนักบินแล้ว


5
  • Git เป็นเครื่องมือที่เชื่อถือได้สำหรับสภาพแวดล้อมขององค์กรโดยเฉพาะอย่างยิ่งสำหรับแพลตฟอร์ม Windows หรือไม่?

ในไม่ช้าเราจะแข็งแกร่งอย่างแน่นอน Atlassian เพิ่งทำตามขั้นตอนใหญ่ที่มีต่อการบรรลุเป้าหมายนี้ด้วยการเปิดตัวของสะสม 1.3

  • การสนับสนุนเป็นคำถามสำหรับ Git เนื่องจากเป็นตัวควบคุมเวอร์ชันโอเพ่นซอร์ส

มีเครือข่ายการสนับสนุนที่แข็งแกร่งของผู้ใช้ Git ที่มีความรู้ซึ่งให้คำแนะนำสำหรับกลุ่ม LinkedIn ฟรีและหลากหลาย (Git Version Control System) การค้นหาโดย Google อย่างรวดเร็วมักจะช่วยได้มากที่สุด สำหรับ บริษัท องค์กรขนาดใหญ่นั้นยังมีตัวเลือกการสนับสนุน git เชิงพาณิชย์ที่มีอยู่ในตลาดปัจจุบันด้วย

  • บริษัท ใดบ้างที่ให้บริการโซลูชั่นและการสนับสนุน ค่าใช้จ่ายของเซิร์ฟเวอร์เปรียบเทียบกับการควบคุมเวอร์ชันอื่นเช่น Clear-case หรือไม่

มี บริษัท หลายแห่งที่เสนอการสนับสนุนที่เชื่อถือได้และทุ่มเทสำหรับ Git Clearvisionและ#goGitเพื่อตั้งชื่อหนึ่งในนั้น


ลิงก์ Stash ใช้งานไม่ได้หนึ่งปีครึ่งในภายหลัง ผมพบว่ามันนี่: atlassian.com/software/stash

1

ที่ทำงานในองค์กรของฉันฉันกำลังทำงานเพื่อสนับสนุนการนำทีมเข้าสู่ Mercurial (เครื่องมือที่คล้ายคลึงกับคอมไพล์) ข้ามจาก ClearCase

เราเลือก hg ในงานปาร์ตี้เพราะมันออกแบบมาเพื่อความไม่สามารถเปลี่ยนแปลงได้ซึ่งมีความสำคัญต่อเป้าหมายทางธุรกิจของเรา นอกจากนี้เนื่องจากมันถูกเขียนใน Python มันทำงานได้ดีใน Windows Git มีชื่อเสียงว่าเป็นผู้อ่อนแอใน Windows และประสบการณ์ของฉันสะท้อนให้เห็นว่า (ฉันรวบรวมเครื่องมือที่ดีกว่าตอนนี้ฉันไม่ได้ใช้ Windows อีกต่อไปเพื่อตรวจสอบ :-))

โดยทั่วไปแล้วประสบการณ์นี้เป็นสิ่งที่ดีโดยมีข้อเสียส่วนใหญ่ของเราที่เกี่ยวข้องกับอนุกรรมการและทิศทางแปลก ๆ ที่เกี่ยวข้องกับพวกเขา อีกสิ่งหนึ่งคือที่เก็บข้อมูลเมตาไม่มีอยู่ใน hg; โซลูชันอื่น ๆ จะต้องได้รับการพัฒนาเพื่อจัดการสิ่งนั้น

ถ้าฉันจะแนะนำโซลูชันระดับองค์กรสำหรับ "ทำงานนอกกรอบ" สำหรับนักพัฒนา Windows ฉันขอแนะนำให้ตรวจสอบKilnและGitHub FirewallFirewall

ฉันรู้ว่าไม่ตอบคำถามของคุณโดยตรง แต่ให้ฉันใช้วิธีนี้ถ้าคุณคุ้นเคยกับ ClearCase ฉันคาดว่า git นั้นจะมีขนาดที่ง่ายต่อการฝึกฝนใช้งานและบริหารจัดการ


1

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

Git ยังไม่ดีสำหรับการสร้างความมั่นใจว่าประวัติถูกเก็บไว้ - โดยค่าเริ่มต้นจะช่วยให้การบังคับให้เขียนทับประวัติทั้งหมดของโครงการ

องค์กรขนาดใหญ่บางครั้งก็ประสบปัญหาการปรับขนาด นี่เป็นกรณีที่ Facebook มี: http://comments.gmane.org/gmane.comp.version-control.git/189776ในขณะที่ปัญหาบางอย่างสามารถแก้ไขได้ (เช่น Facebook แก้ไขปัญหาบางอย่างที่พวกเขามีอยู่ในระบบ: https: / /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) ระบบควบคุมเวอร์ชันเชิงพาณิชย์มีพฤติกรรมการปรับขนาดที่แตกต่างกันซึ่งอาจ (หรือในสภาพแวดล้อมอื่นอาจไม่ทำงาน) ดีกว่า

... และจากนั้นก็มีความรับผิดชอบนี้ องค์กรขนาดใหญ่อาจต้องการโทรหาผู้ขายภายนอกเมื่อมีปัญหาแทนที่จะใช้เวลาเพื่อแก้ไขข้อบกพร่องและพึ่งพาการสนับสนุนจากชุมชน โดยเฉพาะอย่างยิ่งหากที่เก็บข้อมูลที่เสียหายพร้อมข้อมูลลับมีส่วนเกี่ยวข้อง

สิ่งเหล่านี้ไม่ได้เป็นปัญหาที่ทำให้ไม่สามารถใช้งานได้ใน "สภาพแวดล้อมขององค์กร" แต่เช่นซอฟต์แวร์ที่ต่างกันมักมีข้อดีและข้อเสียต่างกันซึ่งจะต้องได้รับการประเมินเป็นกรณี ๆ ไป

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