แพลตฟอร์มพื้นฐานและเรียบง่ายที่สุดสำหรับการพัฒนาความร่วมมือ (โครงการ PHP) คืออะไร? [ปิด]


14

ฉันต้องทำงานกับโปรแกรมเมอร์ 4-5 คนในแอปพลิเคชั่น PHP ที่ค่อนข้างเฉลี่ยโดยใช้ codeigniter เราอยู่ในสถานที่ต่างกัน 5 แห่งในเมืองเดียวและโปรแกรมเมอร์ทั้งหมดไม่ได้รับการศึกษามากนักและฉันคิดว่าพวกเขาส่วนใหญ่ไม่เคยใช้ระบบควบคุมเวอร์ชันใด ๆ เลย

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


คุณใช้ GitHub เป็นแท็ก Github เป็นคนดีมาก - คุณมีเงินซื้อ repo ส่วนตัวไหม?

ฉันแนะนำ SourceAnywhere Hosted มันง่ายมากที่จะใช้ผลิตภัณฑ์ ที่จริงแล้วถ้าคุณค้นหาการควบคุมเวอร์ชันคุณจะพบคำแนะนำ / เครื่องมือที่ดีมากมาย หากคุณต้องการย่อช่วงการเรียนรู้ให้สั้นลงนอกเหนือจากผลิตภัณฑ์นั้นให้คำนึงถึง "การบริการลูกค้าที่ดี" ในใจเมื่อเลือกผลิตภัณฑ์ เพราะนั่นหมายความว่าคุณจะได้รับการฝึกอบรมและการสนับสนุนด้านเทคนิคที่ดีจาก บริษัท
ลมแรง

คำตอบ:


12

คุณรู้คำตอบแล้ว

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

ฉันขอแนะนำให้พวกเขาอ่านPro Gitและตั้งค่าพื้นที่เก็บข้อมูล git ส่วนตัวสำหรับทีมของคุณ


2
ฉันไม่มีตัวเลือกในการเลือกผู้พัฒนารายอื่นหรือให้พวกเขาเรียนรู้การควบคุมเวอร์ชัน เชื่อใจฉันฉันต้องการทั้งสองอย่าง แต่ฉันทำไม่ได้นั่นคือเหตุผลที่ฉันถามคำถามนี้ มีผู้ใช้งาน deveopers มือสมัครเล่นมากมายพวกเขาใช้อะไร?
Esuus

6
พวกเขาเรียนรู้เครื่องมือที่เหมาะสมหรืออยู่รุ่นน้องตลอดไป
Adrian Schneider

2
@Esuus ใช้เวลาไม่นานในการเรียนรู้คอมไพล์: try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia ฉันไม่คิดว่า Git นั้นง่ายจริงๆ SVN นั้นง่ายกว่าที่จะเข้าใจ
MatějZábský

1
ฉันไม่รู้เกี่ยวกับ Git แต่TortoiseSVNทำให้ผู้ใช้ที่ไม่มีประสบการณ์ในการจัดการกับ SVN ทำได้ง่ายมาก
Brian

4

... FTP

ตกลงนี่คือวิธีที่ฉันเริ่มทำงานร่วมกันเชื่อมโยง Notepad ++ กับ FTP สำรองข้อมูลอึทุก 10 นาทีในโฟลเดอร์ที่ถูกเปลี่ยนชื่อจริง ๆ ถ้าคุณทำเช่นนี้เพื่อโครงการของคุณอย่างน้อยก็ใช้การควบคุมเวอร์ชันที่เซิร์ฟเวอร์

IDE ออนไลน์

Cloud9นั้นดีมากและมีการแก้ไขพร้อมกันอย่างไรก็ตามคุณต้องเสียค่าใช้จ่ายมากกว่า 1 พื้นที่ทำงานส่วนตัวเพื่อทำงานกับทีมของคุณ แต่มันคุ้มค่า

... ลองใช้ Mercurial

หากคุณไม่พบ Git ที่เข้าถึงได้โดยเพื่อนร่วมงานของคุณลองMercurial with TortoiseHG ซึ่งเป็นไคลเอนต์ GUI สำหรับ Mercurial จะใช้เวลาสองนาทีในการตั้งค่าและน้อยกว่าเพื่อเริ่มใช้งาน

ให้พวกเขาใช้ GUI พวกเขาเพียงแค่ต้องเรียนรู้ที่จะใช้ 4 ปุ่ม (ดึง, อัปเดต, ส่ง, พุช) และเรียนรู้แนวคิด 2 หรือ 3 เพื่อบันทึกและแบ่งปันงานของพวกเขา

พวกเขามีการลงทะเบียนในbitbucket สร้างที่เก็บสำหรับโครงการของคุณและให้พวกเขาแยกไว้เพื่อให้พวกเขาสามารถทำงานในมิเรอร์ของที่เก็บของพวกเขาและวิธีที่พวกเขาไม่ต้องจัดการกับการรวม คุณทำการรวมและขอให้พวกเขาออกคำขอดึงจากส้อม Bitbucket ของพวกเขาเมื่อพวกเขาผลัก ให้พวกเขาดึงจากที่เก็บของคุณเท่านั้น (อันที่แยกจาก)

เรียนรู้ Mercurial ด้วยตัวคุณเองเพื่อให้คุณสามารถแก้ปัญหาที่เกี่ยวข้องทั้งหมดได้นี่เป็นการเริ่มต้นที่ดี: http://hginit.com/

ลองทั้งคู่

คุณสามารถใช้ Mercurial จาก Cloud9 มันยอดเยี่ยมแค่ไหน?

หยุดสมมติ

หากคุณเป็นคนที่ต้องการใช้เครื่องมือที่ถูกต้องคุณก็อยู่ในตำแหน่งผู้นำแล้ว อย่าคิดว่าพวกเขาไม่ได้รับการศึกษาและพูดคุยกับพวกเขาเกี่ยวกับวิธีการทำสิ่งต่าง ๆ ในโลกแห่งความเป็นจริง

มีความกระตือรือร้นเกี่ยวกับเรื่องนี้ไม่สนับสนุน

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


ฉันรู้สึกว่านี่เป็นคำตอบที่ดีที่สุดเพราะเป็นคำตอบเดียวที่จริงแทนที่จะตอบคำถามกับผู้ถาม ฉันขอขอบคุณเคล็ดลับเกี่ยวกับวิธีทำให้ Mercurial ง่ายขึ้นสำหรับผู้คน (นำการรวมและการรวมออกจากมือของพวกเขา) ดูเหมือนว่าวิธีที่ง่ายที่สุดในการควบคุมเวอร์ชันกับผู้ที่ลังเลที่จะเข้าร่วม ขอบคุณ!
dallin

3

ฉันแนะนำนักพัฒนาซอฟต์แวร์ของคุณให้http://try.github.com

แต่ถ้าไม่มีการควบคุมเวอร์ชันคุณสามารถยึดติดกับสิ่งที่เหมาะสมสำหรับมือใหม่ / รุ่นจูเนียร์ที่เป็นพื้นฐาน (และเก่าแก่)

  1. APP + DB บนเซิร์ฟเวอร์การพัฒนา
  2. ทุกคนใน Messenger เดียวกันตลอดเวลาในขณะที่ทำงานเพื่อให้สามารถพูดและรู้ว่าใครกำลังทำงานอยู่
  3. ทุกคนแก้ไขสดบนเซิร์ฟเวอร์ DEV ผ่าน FTP เก่าธรรมดา
  4. บังคับใช้กฎของทีมในการอัปเดตการเปลี่ยนแปลงด้วยการแก้ไข + การแสดงความคิดเห็นเกี่ยวกับรหัสสำคัญ

การตั้งค่าสำหรับเว็บเซิร์ฟเวอร์ของเซิร์ฟเวอร์การพัฒนาของคุณอาจเป็น svn checkout (หรือ git) และคุณสามารถตั้งค่า crontab ให้ทำการตรวจทานอัตโนมัติทุก ๆ ครั้งโดยอัตโนมัติหรือคุณเพียงแค่ติดตั้งสำเนาสำรองหรืออาจซิงค์โฟลเดอร์ไปยังตำแหน่งสำรองอื่น พวกเขาเขียนทับไฟล์ของกันและกัน (อย่างที่มันจะเกิดขึ้น) และคุณต้องให้บ๊อบกับการเปลี่ยนแปลงที่เขาทำหายไป ในที่สุดหลังจากทำงานกับระบบสองสามเดือนพวกเขาจะขอร้องคุณให้พวกเขาเข้าถึง svn / git


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

2

ฉันสมมติว่าพวกเขาส่วนใหญ่ไม่เคยใช้ระบบควบคุมเวอร์ชันใด ๆ เลย

คุณต้องแก้ไขข้อสันนิษฐานนั้นและดูว่าพวกเขามีหรือไม่มีความรู้หรือประสบการณ์ของระบบควบคุมเวอร์ชันใด ๆ ไม่มีข้อสันนิษฐานว่าพวกเขาจะมีความรู้เมื่อใด

ดังที่คำตอบอื่น ๆ ได้กล่าวมานี่คือสิ่งที่การควบคุมเวอร์ชันใช้สำหรับ Git น่าจะเป็นวิธีที่ดีที่สุดไปข้างหน้าและ Learn Git นั้นเป็นจุดเริ่มต้นที่ดีจริงๆ


2

ดีไม่มีทางที่ออกมามากกว่าที่จะใช้รุ่นควบคุม

Dropbox มีการควบคุมเวอร์ชันแต่ฉันเชื่อว่าถ้าคนสองคนบันทึกไฟล์เวอร์ชันที่ใหม่กว่าจะแทนที่เวอร์ชันเก่าซึ่งไม่ต้องการการควบคุมเวอร์ชันในระหว่างการพัฒนาซอฟต์แวร์

Svn เป็นระบบการควบคุมเวอร์ชันที่ง่ายต่อการเรียนรู้ (อย่างน้อยง่ายกว่า git) และคุณสามารถค้นหาคลังเก็บสาธารณะต่าง ๆ ที่โฮสต์ออนไลน์ แต่ฉันไม่แนะนำให้ใช้สำหรับทีมที่กระจายทางภูมิศาสตร์

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

อาจเป็นเพราะคุณสามารถหา GUI สำหรับ git ซึ่งอาจทำให้นักพัฒนาซอฟต์แวร์เหล่านี้เริ่มเข้าใจระบบการควบคุมเวอร์ชันได้ง่ายขึ้น สำหรับ Windows ของTortoiseGIT ฉันไม่ได้ใช้ไคลเอนต์ git gui สำหรับ Linux หรือ MAC ดังนั้นฉันจะไม่แนะนำที่นี่


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

GitHub ยังมีที่เก็บส่วนตัวหากคุณไม่ต้องการให้รหัสของคุณเป็นแบบสาธารณะ
VirtuosiMedia

@VirtuosiMedia ใช่ฉันรู้ว่า แต่ฉันไม่แน่ใจว่าพวกเขาเป็นอิสระ
Ozair Kafray

@OzairKafray พวกเขาไม่ได้ฟรี แต่พวกเขาก็ไม่แพงเลย แผนเล็กที่สุดมอบพื้นที่เก็บข้อมูลส่วนตัวให้คุณ 5 อันในราคา $ 7 / เดือนรวมถึงที่สาธารณะแบบไม่ จำกัด
VirtuosiMedia

2

คุณอยู่ในเส้นทางที่ถูกต้อง

นี่version controllingคือวิธีที่จะไป! มันจะทำหน้าที่ได้ดีในการทำงานร่วมกันการใช้รหัสร่วมกัน นอกจากนี้การเช็คอินบ่อย ๆ นั้นเป็นสิ่งที่สำคัญมากซึ่งทุกทีมต้องฝึกฝน

อย่างไรก็ตามการเลือกการควบคุมเวอร์ชันที่เหมาะสมสำหรับโครงการของคุณเป็นสิ่งสำคัญมาก

มีโพสต์ที่ดีและคำตอบล่าสุดเพื่อช่วยคุณตัดสินใจ: อะไรคือของเล่นที่ดีในการสอนการควบคุมเวอร์ชัน?

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