โปรแกรมเมอร์จำนวนมากย้ายรหัสของพวกเขาไปที่ GitHub?


114

ในช่วง 6 เดือนที่ผ่านมาฉันได้เห็นรหัสหลายโฮสต์ที่ sourceforge.net เช่นเดียวกับไซต์โฮสต์อื่น ๆ "ย้ายไปที่ GitHub" การค้นหาโดย Google ที่มีวลี "ย้ายไปที่ Github" จะส่งคืนผลลัพธ์หลายรายการที่มีข้อความถูกย้ายไปยัง GitHub นี่เป็นสิ่งที่ทำให้ฉันสับสนและฉันสงสัยว่าทำไมผู้คนถึงเคลื่อนไหวอย่างแน่นอน หมายความว่า GitHub นั้นดีกว่าหรือมีข้อได้เปรียบพิเศษที่ฉันไม่เห็นหรือไม่


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

2
ฉันสงสัยในสิ่งเดียวกันดังนั้นฉันจึงไปและลงทะเบียนและในไม่ช้าฉันก็ถูกขายเช่นกัน ฉันสลับโครงการทั้งหมดของฉันไปและรับลูกค้าของฉันทั้งหมดบนเครื่องเช่นกัน
lorddev

7
เพราะ GitHub เป็นสถานที่ที่ดีและคอมไพล์ดีกว่า CVS?

4
SourceForge เริ่มเพิ่มแอดแวร์ไปยัง Windows ไบนารีของ devs หนึ่งในเซิร์ฟเวอร์การกระจายของ SF ในเกาหลีถูกโจมตี
Deer Hunter

1
Laucnpad เป็นผู้กระทำผิดที่เลวร้ายยิ่งกว่าในการซ่อนแหล่งที่มา สิ่งที่โดดเด่นคือ "Series and milestones" -> trunk -> "รหัสสำหรับซีรี่ย์นี้: สาขาต่อไปนี้ได้รับการลงทะเบียนเป็นสาขา mainline สำหรับซีรี่ส์รีลีสนี้: lp: ~ USER / PROJ / trunk" -> ยัง metadata อื่น หน้าสำหรับลำตัว? รหัสอยู่ที่ไหน โอ้ใช่แล้ว -> "เรียกดูรหัส" ... จริง ๆ แล้วตอนนี้ฉันก็สังเกตเห็นว่ามี "เรียกดูรหัส" ในหน้าแรก แต่หน้าเมทาดาทาที่เหมือนกัน แต่แตกต่างกันเหล่านี้ล้วน แต่กำลังสับสนอยู่
Beni Cherniavsky-Paskin

คำตอบ:


102

นี้เป็นอาการของการโยกย้ายในวงกว้างไปสู่การกระจายระบบการควบคุมรุ่น

เว็บไซต์บางแห่งที่โฮสต์แบบไม่กระจาย VCS (เช่น Codeplex & SourceForge) นั้นช้าเล็กน้อยในการเพิ่มการรองรับ DVCS (เช่น Git หรือ Mercurial) ดังนั้นผู้ที่ต้องการใช้ DVCS สำหรับโครงการของพวกเขาจึงถูกบังคับให้ย้ายโครงการของพวกเขาไปยังผู้ให้บริการที่สนับสนุนพวกเขา (เช่น Github หรือ BitBucket) Github เป็นหนึ่งในคนแรกที่ให้การสนับสนุน DVCS และผู้คนจำนวนมากจึงโยกย้ายรหัสของพวกเขาที่นั่นเพื่อใช้ประโยชน์จากมัน

เว็บไซต์อื่น ๆ เหล่านั้นเพิ่งจะเริ่มต้นที่จะรับ DVCS (ตัวอย่างเช่น Codeplex ปัจจุบันรองรับ Mercurial & Git) แต่พวกเขายังคงเป็นหนทางในด้านของคุณสมบัติเช่นการฟอร์กและการส่งคำขอดึง ในการใช้ประโยชน์จาก DVCS Github และ Bitbucket จริงๆยังคงเป็นตัวเลือกที่ดีที่สุด


46
นอกจากนี้โปรดทราบว่าฟีเจอร์ของ GitHub นั้นดึงดูดความสนใจได้อย่างรวดเร็วมากกว่าตัวเลือก DVCS อื่น ๆ (รวมถึงการโฮสต์ด้วยตนเอง) ดังนั้นส่วนหนึ่งของคำตอบก็คือ GitHub นั้นเซ็กซี่ :-)
Martijn Pieters

49
@MartijnPieters: ... ยกเว้นโฮสติ้งส่วนตัวฟรีซึ่ง BitBucket ให้บริการมานานแล้ว
ชัด

17
เว็บไซต์อื่น ๆ เสนอ DVCS ในกรณีเฉพาะของ SourceForge ฉันแค่คิดว่าเหตุผลคือเว็บไซต์น่ากลัวที่สุดโดยไม่คำนึงถึงระบบควบคุมเวอร์ชันที่รองรับ
Konrad Rudolph

17
@ ใช่แล้วฉันไม่รู้จริงๆว่าทำไม BitBucket จึงไม่เป็นที่นิยมมากขึ้น มันมีโฮสติ้งส่วนตัวและขอให้คุณเลือกระหว่าง Git หรือ Mercurial (ซึ่งผมชอบ Mercurial มากขึ้น)
Earlz

11
Github และ Bitbucket ทำงานในสองรูปแบบธุรกิจที่แตกต่างกัน Github เสนอเกือบเต็ม 'คุณสมบัติที่ตั้งไว้ฟรีและทำให้คุณจ่ายเงินสำหรับ repos ส่วนตัว (แถบแผนบรอนซ์ฟรีมันให้กับทุกคนที่มีที่อยู่อีเมล. edu Bitbucket ให้บริการพื้นที่สาธารณะและส่วนตัว แต่ค่าใช้จ่ายสำหรับการผลิต [หวังว่า] - เพิ่มบริการพิเศษถ้าคุณไม่มีเหตุผลที่จะซ่อนรหัสคุณ Github ดูเหมือนจะเป็นโมเดลเชิงตรรกะมากกว่าฉันคิดว่า Bitbucket กำลังจะมาถึงแม้ว่า - ฉันชอบ Sourcetree ดีกว่า Gitub GUI ของ Github จริง ๆ (ไม่ใช่ที่ฉันจริง ๆ ใช้อย่างใดอย่างหนึ่ง) ..
David Cowden

45

การโฮสต์โครงการคือโครงสร้างพื้นฐาน โครงสร้างพื้นฐานจัดแสดงเอฟเฟกต์เครือข่ายซึ่งหมายความว่าโครงสร้างพื้นฐานได้รับประโยชน์มากขึ้นเมื่อมีคนเชื่อมโยงเข้าด้วยกัน (โดยเฉพาะประโยชน์คือ O (number_of_connections) ซึ่งหมายความว่าสำหรับสมาชิกรายบุคคลใด ๆ ก็คือ O (total_members) และสำหรับทั้งระบบมันเป็น O (total_members ^ 2)) ในทางกลับกันสิ่งนี้นำไปสู่ผลกระทบที่เรียกว่าการผูกขาดโดยธรรมชาติซึ่งหมายความว่ามันเป็นเรื่องธรรมชาติสำหรับระบบที่ผู้แข่งขันเพียงคนเดียวเท่านั้นที่จะอยู่รอดได้เนื่องจากมีประโยชน์สูงสุดเมื่อทุกคนใช้ระบบเดียวกัน

ดังนั้นจึงเหมาะสมที่จะเข้าร่วมเป็นผู้นำตลาดซึ่งก็คือ GitHub มีที่เก็บมากขึ้นผู้ใช้มากขึ้นสาขาแก้ไขเพิ่มเติมมากขึ้นทุกอย่างบน GitHub กว่าบน SourceForge, Google Code และ CodePlex รวม

แน่นอนว่าคำถามที่น่าสนใจคือถ้าผลกระทบจากเครือข่ายหมายความว่าผู้นำตลาดได้รับการผูกขาดโดยธรรมชาติ GitHub จะสามารถทำลาย SourceForge ได้อย่างไร?

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

  • GitHub เป็นคนแรกที่เสนอ Git โฮสติ้งที่มีคุณสมบัติคล้ายกับของ SourceForge (หรืออย่างน้อยก็ส่วนหนึ่งของ SourceForge ที่คนส่วนใหญ่ใช้)
  • GitHub ยอดเยี่ยมจากมุมมอง UI: ลื่นไหล, UI เว็บที่ทันสมัย
  • GitHub เจ๋งดีเทคโนโลยีชาญฉลาด: Ruby on Rails, Sinatra, Erlang, node.js
  • GitHub เป็น Web 2.0 โดยมุ่งเน้นที่การเข้ารหัสทางสังคมและผู้ใช้ในโครงการ

6
+1 สำหรับคำอธิบายผลกระทบเครือข่าย แต่ฉันคิดว่า SourceForge นั้นใหญ่กว่า Github มากก่อนการโยกย้ายที่ฉับพลัน ... และคุณเกือบจะดูเหมือนพนักงาน Github ...
Chibueze Opata

2
นอกจากนี้ให้พิจารณาการสร้าง GitHub สำหรับไคลเอนต์Windowsเป็นครั้งแรกในฐานะนักพัฒนา Windows ฉันไม่รู้สึกเหมือนเป็นพลเมืองชั้นสองเมื่อพูดถึงการใช้ Git สำหรับการควบคุมแหล่งและ GitHub รับผิดชอบต่อสิ่งนั้น
Carson63000

25

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

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

ฉันคิดว่านี่เป็นหนึ่งในเหตุผลที่เครื่องมือและไลบรารีที่กำหนดเป้าหมายโดยนักพัฒนาย้ายไปที่ GitHub


15

Sourceforge ยังมี Gitแต่ Github ก็ทำได้ดีกว่า (ตอนนี้)

  • ระบบคำขอดึงของพวกเขาทำงานได้ดี (ดีกว่า Gitorious เป็นต้น)
  • การแจ้งเตือนที่เพิ่งอัปเกรดของพวกเขาสะดวกมาก
  • พวกเขาแสดงรหัสทันที

คุณสมบัตินักฆ่าของพวกเขาในความคิดของฉันคือ "กราฟเครือข่าย":

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

แตกต่างกับgitk: มันยังแสดงให้คุณเห็นว่าเกิดอะไรขึ้นในสาขาของคนอื่น (โดยไม่ต้องดึงกิ่งก้านสาขา) ซึ่งสำคัญมากเมื่อร่วมมือกัน


10
+1 เราทุกคนรู้ว่าในท้ายที่สุดกราฟเป็นสิ่งที่สำคัญ
Xeoncross

2
นอกจากนี้ยังเป็นเรื่องที่ยอดเยี่ยมสำหรับการค้นหาสาขาที่ได้รับการดูแล เมื่อเร็ว ๆ นี้ฉันต้องค้นหาว่าที่เก็บของที่แน่นอนเก็บรักษาไว้จริง ๆ (ไม่ใช่เรื่องไม่สำคัญเพราะส้อมที่ทันสมัยมากขึ้นยังไม่ได้ลอยไปด้านบนของการค้นหา google)
beatgammit

1
นอกจากนี้ดูเหมือนว่า GitHub สามารถแสดงสถิติการโคลนในขณะที่ฉันไม่สามารถหาวิธีเดียวที่จะทำเช่นนั้นใน sourceforge :(
กุมภ์พลัง

11

GitHub นั้นง่ายใช้งานง่ายและง่ายต่อการเริ่มต้นใช้งานมีประสิทธิภาพและดูดีและเป็น Web 2.0-ish

ฉันใช้ GitHub และฉันพบว่ามันใช้งานง่ายกว่าอย่างน่าทึ่งกว่า SourceForge ซึ่งมีพลังซ่อนอยู่หลังเมนูหลายชุด และฉันเป็นโปรแกรมเมอร์

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

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


ด้วยรหัสของ Google ฉันสามารถติดดาวปัญหาต่าง ๆ ซึ่งทำให้ devs รู้ว่าปัญหาใดที่มีความสำคัญต่อชุมชนและช่วยให้ฉันติดตามความคืบหน้า ดูเหมือนว่า Github จะมีการติดตามโดยไม่ระบุชื่อซึ่งสามารถนำไปสู่การแสดงความคิดเห็นสแปม (+1 เช่นกัน ฯลฯ ) นี่เป็นสิ่งสำคัญสำหรับโครงการยอดนิยมที่มีทรัพยากร จำกัด
beatgammit

5

คุณต้องคำนึงถึงคุณสมบัติที่ยอดเยี่ยมของ github ที่ฉันยังไม่ได้กล่าวถึง

  • หน้า github ที่มี markdown แต่งกลิ่นรส git
  • แอพมือถือ Github
  • ปลั๊กอิน github eclipse
  • github สำหรับ mac
  • งาน GitHub
  • github สำหรับ windows
  • ตั๋ว GitHub / ระบบติดตามข้อผิดพลาด
  • API ของนักพัฒนา github ซึ่งช่วยให้สามารถรวมบุคคลที่สามได้อย่างราบรื่น
  • การอัปเดตและการปรับปรุง UI บ่อยครั้ง (คุณสามารถเห็นการเปลี่ยนแปลงจากวันหนึ่งไปยังอีกวันถัดไปเช่นกล่องข้อความค้นหาตอนนี้ขยายการโฟกัสแบบไดนามิกดูกลายเป็นปุ่มดาวดวงใหม่เป็นต้น)
  • GitHub จิสต์ (ดีสำหรับสคริปต์ยูทิลิตี้โค้ดสั้น ฯลฯ )
  • การรวม GitHub ไร้รอยต่อผ่านฮับ

ไซต์อื่นอาจมีคุณสมบัติเหล่านี้ แต่ฉันค่อนข้างแน่ใจว่าไม่มีไซต์เหล่านั้นมีทั้งหมด

พวกเหล่านี้หากลุ่มได้ทุกที่ ... ค่อย ๆ กระจายสารพัดทางเทคนิคไปทั่วทั้งเว็บและเดสก์ท็อปเหมือนกัน พวกเขากำลังใหญ่ขึ้นและดีขึ้นเมื่อเราพูดและจ้างวิศวกรที่ดีที่สุด (พวกเขาสามารถขโมย Phil Haack จาก Microsoft ... ไปคิด)


4

เหตุผลเพิ่มเติมอีกประการหนึ่งที่อาจดึงดูดนักพัฒนาเพิ่มเติมให้กับ GitHub คือเครื่องมือของนักพัฒนาเริ่มที่จะยอมรับ git และแพลตฟอร์มเช่น Eclipse ตอนนี้มีการสนับสนุน Git ในตัวนอกกรอบ (ใช้กับแพ็คเกจสำหรับ Java, C ++ Developers ฯลฯ ) ใช้เวลาน้อยลงในการอัปโหลดโปรเจ็กต์ของคุณไปยัง GitHub


1
IDE อื่นที่เพิ่มการรองรับ Git คือ Visual Studio ในเวอร์ชัน 2013 และใหม่กว่า ดูรายละเอียดเพิ่มเติมที่msdn.microsoft.com/en-us/library/hh850437.aspx
Bernard Vander Beken

-1

ความจริงแล้วสิ่งที่สำคัญที่สุดของ Git สำหรับฉันเมื่อฉันเห็น: 1. กราฟเครือข่ายหรือฉันควรจะเรียกประวัติ (เช่นการแสดงความคิดเห็น) 2. สาขาและคำขอดึง 3. มันมีประสิทธิภาพมากขึ้นจริง ๆ ฉันจะบอกว่ามันเป็นเช่นนั้น รู้สึกเหมือนฉันมีเลขานุการที่ถืองานของฉันทั้งหมดและฉันสามารถบอกได้ว่าวินาทีที่จะเขียนอะไรสำหรับฉันการเปลี่ยนแปลงทุกอย่าง! 4. ง่ายต่อการย้อนกลับ

แค่นี้แหละ รู้สึกเซ็กซี่ใช้มัน


เอาละทำไมฉันถึงลงมา?
Benyamin Limanto

ในขณะที่ฉันคิดว่าคุณมีความตั้งใจที่ดีในการตอบคำถาม แต่ฉันไม่คิดว่าคำตอบของคุณจะเพิ่มคำตอบให้มากที่สุดเท่าที่ OP ร้องขอ ดูเหมือนคำตอบของคุณที่ว่า "ทำไมโปรแกรมเมอร์จึงย้ายรหัสไปที่ github" คือ "เพราะฉันชอบ" คำตอบอื่น ๆ ที่นี่น่าจะดีกว่าและนั่นเป็นเหตุผลที่บางคน downvoted
Frank Bryce
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.