เราต้องการสิ่งที่เราสามารถเช็คเอาท์ไฟล์แก้ไขตรวจสอบพวกเขากลับมาแล้วสร้างจากพวกเขา
บางอย่างเช่น Google เอกสารที่เราสามารถแก้ไขรหัสเดียวกันในเวลาเดียวกันจะเป็นอุดมคติ
เราทั้งคู่ใช้ Visual Studio 2010
เราต้องการสิ่งที่เราสามารถเช็คเอาท์ไฟล์แก้ไขตรวจสอบพวกเขากลับมาแล้วสร้างจากพวกเขา
บางอย่างเช่น Google เอกสารที่เราสามารถแก้ไขรหัสเดียวกันในเวลาเดียวกันจะเป็นอุดมคติ
เราทั้งคู่ใช้ Visual Studio 2010
คำตอบ:
ขณะที่ผมระบุไว้ในการแสดงความคิดเห็นสำหรับคำถามของคุณฉันอยากรู้มากสำหรับการแก้ไขร่วมกันจริง ฉันได้ทำการวิจัยเมื่อไม่นานมานี้ แต่โซลูชันส่วนใหญ่ไม่ได้มาตรฐาน: ไม่ว่าจะเป็นโปรแกรมแก้ไขข้อความธรรมดาที่มีการเน้นไวยากรณ์มีค่าใช้จ่ายบ้าหรือไม่สามารถใช้งานข้ามแพลตฟอร์ม (เช่นSubEthaEdit ... )
จนกว่าฉันจะได้พบกับSaros ! มันเป็นปลั๊กอิน Eclipse ที่เรียบร้อยดังนั้นจึงอาจรวมเข้ากับเวิร์กโฟลว์ปัจจุบันของคุณได้ง่าย คุณสามารถดูวิดีโอตัวอย่างของพวกเขามันค่อนข้างน่าประทับใจ มันเป็นความคิดที่ดีมากสำหรับสภาพแวดล้อมการแก้ไขการทำงานร่วมกันอย่างแท้จริงและมีคุณสมบัติที่สำคัญบางอย่าง รองรับจำนวนผู้เข้าร่วมการซิงโครไนซ์โครงการเต็มรูปแบบการแก้ไขแบบเรียลไทม์ด้วยเครื่องหมายและไฮไลต์ (ala Google Docs) ตามมุมมองของคู่ของคุณวิธีการรับรู้ผู้เข้าร่วมและอีกมากมาย (คุณสามารถแชร์หน้าจอโดยใช้ปลั๊กอินนี้ ) และเห็นได้ชัดว่ามันทำงานร่วมกับปลั๊กอิน Eclipse อื่น ๆ อีกมากมาย!
ฉันยังไม่ได้ทดสอบด้วยตัวเอง แต่เป็นหนึ่งในไม่กี่โครงการที่ยังคงรักษาไว้และดูมีแนวโน้มมาก ลองอ่านและแจ้งให้ฉันทราบ (อ่านหลักเกณฑ์เหล่านี้มาก่อน) ฉันสัญญาว่าฉันจะกลับมาที่นี่อีกครั้งและโพสต์ความประทับใจของฉันเป็นความคิดเห็นเมื่อฉันลองด้วยตัวเอง
แก้ไข:นอกจากนี้ตามที่ Gustavo ชี้ในความคิดเห็นCacooอาจมีประโยชน์เช่นกัน เป็นเครื่องมือความร่วมมือออนไลน์สำหรับการวาด UML (จริง ๆ แล้วแผนภาพชนิดใดก็ได้) Saros สนับสนุนไวท์บอร์ด แต่ไม่มีอะไรเหมือนเครื่องมือแผนภาพถ้าคุณต้องการหลีกเลี่ยงความซุ่มซ่าม
"เราต้องการสิ่งที่เราสามารถตรวจสอบไฟล์แก้ไขและตรวจสอบไฟล์เหล่านั้นกลับมาและสร้างจากไฟล์ชุดเดียวกัน"
ใช้การควบคุมเวอร์ชัน ระบบควบคุมเวอร์ชัน (VCS) เป็นสิ่งที่คุณอธิบายด้วยโบนัสเพิ่มเติมที่เก็บประวัติของการเปลี่ยนแปลงทุกอย่างที่เกิดขึ้น มีระบบควบคุมเวอร์ชันยอดนิยมมากมาย:
ฉันไม่ได้ใช้ Visual Studio เป็นการส่วนตัว แต่ฉันมั่นใจอย่างเต็มที่ว่า Visual Studio รองรับระบบควบคุมเวอร์ชันทั้งหมดเหล่านี้
สำหรับทีมของฉันเราใช้โปรแกรมสามโปรแกรมขึ้นอยู่กับสิ่งที่เราต้องทำ:
เพื่อประสานงานความพยายามของสมาชิกที่แตกต่างกัน (ผู้ที่ทำงานในเวลาที่ต่างกัน) เราใช้ระบบจำหน่ายตั๋วของ Assembla วิธีนี้ทุกคนจะได้รับการอัปเดตสถานะของโครงการทั้งหมดหรือถนนที่เลือกโดยเฉพาะ ใช้การสื่อสารผ่าน Skype / Google Hangout / แบบตัวต่อตัวเพื่อให้แน่ใจว่าทุกคนอยู่ในหน้าเดียวกันอย่างน้อยทุกสัปดาห์
โดยทั่วไปวิธีการนี้จะใช้งานได้เมื่อทีมประกอบด้วยบุคคลจำนวน 3-5 คนที่ได้กำหนดบทบาทไว้ (โปรแกรมเมอร์ศิลปินผู้สร้างแบบจำลองนักออกแบบ ฯลฯ ) หากวิธีนี้ใช้ไม่ได้ให้ลองวิธีการอื่นหรือรวมแง่มุมการทำงานเพื่อสร้างเป็นของคุณเอง โชคดี!
ดูเหมือนว่าคุณต้องการได้ทั้งแบบดรอปบ็อกซ์ระบบควบคุมเวอร์ชันหรือทั้งสองอย่าง
Dropboxเป็นวิธีที่สะดวกที่สุด เพียงทำการเปลี่ยนแปลงและบันทึกแล้ว Dropbox จะซิงค์กับการเปลี่ยนแปลงในเครื่องเพื่อนของคุณ อย่าคิดว่า 2 คนสามารถทำงานกับไฟล์ได้ในเวลาเดียวกันโดยไม่ต้องเขียนทับกัน
แต่ผมแนะนำให้คุณใช้ระบบการควบคุมเวอร์ชันโค่นล้ม , GITและMercurialขณะนี้ขนาดใหญ่ 3. มีประโยชน์มากที่จะใช้ VCS: เช็คเอารหัสของคุณบนเครื่องคอมพิวเตอร์ใด ๆ รวมทั้งความสามารถในการสำรองข้อมูลอัตโนมัติเปลี่ยนแปลงย้อนกลับและ ที่สามารถเข้าถึงเซิร์ฟเวอร์ของคุณ
ต้องใช้ทั้ง 3 ที่ฉันพูดถึงฉันพบว่าการโค่นล้มเป็นวิธีที่ง่ายที่สุดในการเริ่มต้นและAssemblaอนุญาตให้ใช้ที่เก็บส่วนตัว SVN หรือ GIT ฟรี
ดังที่กล่าวไว้ในคำตอบอื่น ๆ VCS เป็นวิธีที่จะไป Git เป็นสิ่งที่ฉันชอบ แต่นั่นอาจเป็นเพราะมันเป็นสิ่งแรกที่ฉันใช้
ฉันพบว่าหนังสือออนไลน์เล่มนี้มีประโยชน์มากสำหรับการเรียนรู้ Git http://progit.org/book/ VCS ไม่ว่าคุณจะไปด้วยอะไรมันก็คุ้มค่าที่จะอุทิศเวลาสองสามชั่วโมงเพื่อหาวิธีใช้งาน
สิ่งที่ควรค่าแก่การกล่าวถึง - VCS เหมาะอย่างยิ่งสำหรับซอร์สโค้ด (หรือไฟล์ข้อความใด ๆ ) แต่การจัดเก็บรูปภาพและไฟล์เสียงสามารถทำให้พื้นที่เก็บข้อมูลของคุณขยายตัวได้โดยไม่จำเป็น บางคนแนะนำที่เก็บแยกต่างหากสำหรับสิ่งนี้ แต่ฉันพบว่า Dropbox ทำงานได้ดีสำหรับทรัพยากรประเภทนี้
สำหรับโครงการโรงเรียนเราใช้โฟลเดอร์ Dropbox สาธารณะและใช้สคริปต์นี้เพื่อรักษาทรัพยากรของเราให้ทันสมัยhttps://github.com/dc2011/td/blob/master/tools/extrafiles.sh
จะตรวจสอบการแฮช md5 ของไฟล์ใน Dropbox เทียบกับแฮชของไฟล์บนดิสก์ (ถ้ามี) เพื่อดาวน์โหลดเฉพาะไฟล์ใหม่หรือไฟล์ที่มีการเปลี่ยนแปลง
ดังที่หลายคนกล่าวถึงคุณต้องมีการควบคุมเวอร์ชัน มีข้อเสนอฟรีที่ดีจากซอฟต์แวร์ FogCreek (คุณขอขอบคุณพวกเขาสำหรับการมอบ stackexchange ซึ่งทำให้เว็บไซต์นี้เป็นไปได้) มันถูกเรียกว่าเตาเผา (สร้างขึ้นบนMercurial ) และจะทำงานร่วมกับผลิตภัณฑ์เป็นเวลาที่ดีข้อผิดพลาด / คุณสมบัติ / ซอฟต์แวร์การติดตามพวกเขาได้สร้างเรียกว่าFogBugz สำหรับทีมนักพัฒนาซอฟต์แวร์ 2 คนพวกเขามีผลิตภัณฑ์เหล่านี้ให้ฟรี (และโฮสต์ให้คุณ) ฉันใช้การตั้งค่านี้สำหรับโครงการของฉันเองและรุ่นที่จำหน่ายได้แล้วสำหรับผลิตภัณฑ์ซอฟต์แวร์ทั้งหมดที่ฉันทำงานให้กับนายจ้างของฉัน (เรามีทีมนักพัฒนาซอฟต์แวร์ที่ใหญ่กว่ามากดังนั้นต้องใช้รุ่นที่จ่ายเงินแล้ว) คุ้มค่ากับการดูแน่นอน
หากคุณตัดสินใจที่จะใช้สิ่งเหล่านี้ต่อไปนี้เป็นแบบฝึกหัดที่ดีหรือลิงค์ที่มีประโยชน์เพื่อให้คุณเริ่มต้น:
เครื่องมือที่ทีมของฉันใช้สำหรับการทำงานร่วมกันที่ราบรื่น:
• GitHub ซึ่งถ้าคุณมีเงินนิดหน่อยเป็นวิธีที่ประหยัดและง่ายมากในการโฮสต์แหล่งข้อมูลทั้งหมดของคุณ นี่คือแพลตฟอร์มการควบคุมเวอร์ชันที่คนส่วนใหญ่ที่นี่พูดถึง คิดว่าเป็นบัญชี Pastebin ที่มีอยู่ในฮาร์ดไดรฟ์ในเครื่องของคุณและได้รับการอัปเดตทุกครั้งที่สมาชิกในทีมของคุณทำการเปลี่ยนแปลง โครงการโฮสต์เรียกว่าศูนย์รับฝาก มีลูกค้า Git ฟรีจำนวนมากบางคนรวมเข้ากับ Windows เพื่อทำให้การรับฝากของคุณสะอาดและทันสมัย
• Google เอกสารสำหรับเกมการออกแบบความคิดแนวคิดศิลปะ
•การใช้ DropBox เป็นครั้งคราวหากเราหนึ่งคนต้องการเนื้อหาหรือสคริปต์ที่เฉพาะเจาะจง ... นี่เป็นสิ่งที่หายากและเราต้องการทำงานผ่าน GitHub
หากคุณใช้ Visual Studio ตัวเลือกที่ดีที่สุดคือ Team Foundation มาจาก Microsoft และเป็นตัวควบคุมเวอร์ชันที่ดีที่สุดที่ฉันรู้สิ่งที่เป็นลบคือคุณต้องใช้เซิร์ฟเวอร์เซิร์ฟเวอร์ sql และเซิร์ฟเวอร์พื้นฐานของทีมเพื่อทำงานในเซิร์ฟเวอร์ (ลูกค้าที่มีอยู่แล้วกับ Visual Studio) หากคุณมีโอกาสลอง
สำหรับการเขียนโปรแกรมคู่เสมือนฉันใช้การตั้งค่านี้ (ประสานงานทุกอย่างผ่าน Skype):
ตอนนี้คุณและเพื่อนของคุณจะเห็นหน้าจอเทอร์มินัลเดียวกัน แต่คุณอาจต้องการความสามารถในการทำงานร่วมกันนอกคอมพิวเตอร์ใช่ไหม
ตอนนี้คุณและเพื่อนของคุณสามารถทำงานได้อย่างอิสระและผลักดันพวกเขาไปยัง Bitbucket เมื่อคุณพร้อม
สิ่งนี้จะไม่ยอมให้คุณทั้งคู่แก้ไขร่วมกันใน Visual Studio ด้วยวิธีที่ดี แต่คุณจะสามารถแก้ไขซอร์สโค้ดเองได้ถ้าคุณจับคู่กับคุณสมบัติใหม่หรือแก้ไขข้อบกพร่อง ตราบใดที่คุณผลักดันการเปลี่ยนแปลงในภายหลังเพื่อนของคุณสามารถเปิดขึ้นใน VS
ฉันอยากจะแนะนำการควบคุมเวอร์ชันของBazaar มันเล็กใช้งานได้ดีมากสำหรับโครงการผู้ชายขนาดเล็ก / one2few Git และ SVN ถูกใช้บ่อยขึ้นสำหรับโครงการ / ทีมขนาดใหญ่ Bazaar มีการพัฒนาปลั๊กอิน VS แต่สำหรับคุณมันไม่ได้สร้างความแตกต่างมากนักเมื่อใช้นอก VS มันใช้งานง่ายมากเมื่อคุณรู้จักและตั้งค่าเริ่มต้น มีปลั๊กอินอีกไม่กี่ตัวที่ใช้งานได้สะดวก
มีคำแนะนำที่ดีมากมายอยู่แล้ว แต่ถ้าคุณต้องการโซลูชันที่ใช้เทคโนโลยีต่ำและเรียบง่ายสิ่งนี้ใช้ได้กับฉันเมื่อฉันทำงานร่วมกัน:
ใช้ความคิดเห็นในตอนนั้นหัวของแต่ละสคริปต์เพื่อติดตามเวลาที่ถูกแก้ไขใครจะเป็นใครและเมื่อใด:
Vers Date Author Note
1.0.1 12/10/11 Paul Added a new boss to level 12
1.0.2 22/11/11 Frank Fixed the bug introduced by Paul
ฟอรัมส่วนตัวหรือดีกว่ายังคงเป็น Wiki เป็นวิธีที่ดีในการสื่อสารความคิดและทำให้ทุกคนอยู่ในความคืบหน้า
ความคิดที่ได้รับนั้นดีกว่าโซลูชันนี้ แต่ใช้งานง่ายด้วยการลงทุนน้อยที่สุดสำหรับโครงการขนาดเล็กที่มีคนเพียงไม่กี่คนที่ทำงานร่วมกันอาจเพียงพอสำหรับความต้องการของคุณ
การทำงานให้กับองค์กรระดับโลกที่มีขนาดใหญ่ฉันสามารถพูดได้อย่างตรงไปตรงมาว่าจำนวนเวลาที่เสียไปเนื่องจากเทปสีแดงรอบ ๆ ซอฟต์แวร์ควบคุมเวอร์ชัน (MKS) ของพวกเขาเป็นความเจ็บปวดที่แท้จริง!