ทำให้การย้ายไปยังการควบคุมแหล่งที่มา


10

Ours เป็น บริษัท ขนาดเล็ก (โปรแกรมเมอร์ 3-4 คนและนักออกแบบไซต์ 3-4 คน) ที่พัฒนาแอปพลิเคชันเว็บ PHP แบบใช้งานครั้งเดียวซึ่งให้ฟังก์ชันการทำงานกับเว็บไซต์มากกว่า 100 เว็บไซต์ เราดำเนินงานมาสองปีในสภาพแวดล้อมการพัฒนาและการผลิตที่แยกจากกันซึ่งทำงานได้ค่อนข้างดี มีคุณสมบัติแยกต่างหากเพียงพอที่จะได้รับการพัฒนาที่โปรแกรมเมอร์ไม่เคยขัดแย้งกันจริง ๆ และสะดวกกว่าในการทำงานโดยไม่ต้องใช้ตัวควบคุมแหล่งกำเนิด แม้ว่าจะมีความเสี่ยงต่อการสูญหายของข้อมูลและเรามีส่วนแบ่งที่ยุติธรรมของไฟล์ที่จะหายไปในการย้ายที่ไม่ตั้งใจ

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

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

น่าเสียดายที่ฉันมีประสบการณ์ จำกัด ในการตั้งค่าระบบควบคุมแหล่งที่มา สิ่งที่ฉันอยากรู้เกี่ยวกับคนที่มีการตั้งค่าที่คล้ายกันหรือประสบการณ์ในการเปลี่ยน:

1) คุณทำทุกสิ่ง (ไซต์ css เทมเพลต html และรหัสแอป) และบังคับให้นักออกแบบเรียนรู้การกำหนดเวอร์ชันหรือไม่ หรือเป็นเพียงนักพัฒนาที่ทำงานกับรหัสแอปพลิเคชัน?

2) มีข้อผิดพลาดอะไรบ้างที่ควรระวังเมื่อเริ่มตั้งค่าการควบคุมแหล่งที่มา

3) การปรับใช้ dev => เคล็ดลับการผลิตสำหรับการควบคุมแหล่งที่มา

ขอบคุณสำหรับความเข้าใจทั้งหมด

แก้ไข 1: แดง ทุกคนจนถึงตอนนี้ก็แนะนำให้ควบคุมทุกอย่าง นั่นจะทำให้ฉันผมร่วงเร็ว มันอาจจะจุดประกายคำถามใหม่ในอนาคตอันใกล้ ขอบคุณสำหรับคำแนะนำจนถึงตอนนี้!

แก้ไข 2: คำตอบที่ดีมากและเราจะตรวจสอบระบบควบคุมเวอร์ชันต่างๆ ขอบคุณสำหรับคำตอบทุกคน!


@mattdm ahh, 'version-control' ... ฉันกำลังลอง 'source-control' / ถอนหายใจ
DTest

นอกจากนี้ "การควบคุมการแก้ไข"
mattdm

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

คำตอบ:


10

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

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

และไม่ควรหันไปพึ่งอำนาจหรืออะไร แต่ลองดูว่า Joel Spolsky พูดอะไรในหัวข้อนี้บ้าง (ทางเลือกที่อ้างถึง: "การโค่นล้ม = ปลิง Mercurial และ Git = ยาแก้อักเสบ") เหนือสิ่งอื่นใดเขาทำให้ประเด็นที่น่าสนใจที่ระบบใหม่เหล่านี้ใช้รูปแบบจิตใหม่ซึ่งแตกต่างจากการควบคุมแบบดั้งเดิม - ซึ่งเป็นเหตุผลว่าทำไม วิธีการตั้งแต่ต้นคือชัยชนะ


ขอบคุณสำหรับการตอบกลับ mattdm ฉันจะตรวจสอบลิงก์เหล่านั้น
DTest

+1 สำหรับตัวชี้นั้นไปยังบทความ Spolsky; ฉันเพิ่งอ่านการสอน Hg ของเขา (HgInit) และฉันคิดว่าฉันเริ่มได้รับ dVCS เป็นครั้งแรก ขอบคุณ (คุณและโจเอล)
MadHatter

3

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

คุณควรไม่ต้องกังวลมากนัก ส่งทุกอย่างไปยังเซิร์ฟเวอร์และหากยังไม่ถูกต้องคุณสามารถสลับไปมาและลบข้อมูลเพิ่มเติมในภายหลัง สิ่งเดียวที่ฉันจะไม่ส่งมอบคือสิ่งประดิษฐ์ที่สร้างขึ้นจากซอร์สเช่นไฟล์รหัส java อยู่ในการควบคุมเวอร์ชัน แต่ไม่ใช่คลาสที่คอมไพล์หรือ ISO / DVD ทั้งหมดของไบนารี "ที่สร้างจากแหล่งที่มา"

การพัฒนาสู่การผลิตนั้นง่ายในทุกขั้นตอนสำคัญสร้างสาขา เลย์เอาต์ไดเรกทอรีในระบบควบคุมเวอร์ชันมักจะมีลักษณะดังนี้:

/ trunk / project / branch / project / version1 / branch / project / version2 / branch / project / version3

สมมติว่าคุณพบข้อบกพร่องในผลิตภัณฑ์รุ่น 2 คุณนำทางไปยังสาขานั้นแก้ไขได้และปล่อยรุ่น 2.1 ในขณะที่คุณกำลังทำงานกับโฟลเดอร์ / trunk / project สำหรับเวอร์ชันใหม่ 4 และมันขึ้นอยู่กับคุณว่าคุณลักษณะใดที่ถูกรวมเข้าด้วยกันทั้งด้านหน้าและข้างหลัง

อย่าปล่อยให้นักดื่มเครื่องดื่ม SCM kool หลอกคุณมีความแตกต่างในการใช้งานน้อยมากระหว่างระบบควบคุมเวอร์ชันยอดนิยมนอกระบบนั่นคือ Subversion และ Git สิ่งที่สำคัญที่สุดสำหรับทีมของคุณจะดีแค่ไหนที่เซิร์ฟเวอร์เหล่านั้นรวมเข้ากับเครื่องมือที่มีอยู่ของคุณ ฉันไม่ชอบ WYSIWYGs แต่แน่ใจว่ามี eclipse-php หรือ IDE อื่น ๆ ที่เข้ากันได้กับเซิร์ฟเวอร์


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

3

ฉันเป็นผู้พัฒนาและมีส่วนร่วมในการทำงานเป็นผู้ดูแลระบบไอทีมาก่อน

ในการตอบคำถามเฉพาะของคุณ:

1) ใช่ทุกอย่างเป็นเวอร์ชั่น

2) แนะนำให้คุณตั้งค่าที่เก็บการควบคุมรุ่นจำลองและโครงการจำลองสำหรับคนที่จะเรียนรู้

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

ฉันเห็นว่าคุณติดแท็ก CVS คำถาม

คำแนะนำของฉันคือการดูการโค่นล้มอย่างจริงจังแทนรวมกับ TortoiseSVN ซึ่งทำให้ใช้งานง่ายมาก นอกจากนี้ยังมี TortoiseCVS อีกด้วย

ฉันขอแนะนำให้คุณเรียกใช้บทช่วยสอนเกี่ยวกับการควบคุมเวอร์ชัน ฉันจะแปลกใจหากนักพัฒนา / นักออกแบบของคุณไม่เคยพบเจอมาก่อน Tortoise ใช้งานง่ายมาก

นอกจากนี้ยังสามารถเป็นประโยชน์ในการติดตั้งหนึ่งในเว็บอินเตอร์เฟสลงใน cvs หรือ subversion

เหตุผลที่ฉันแนะนำการโค่นล้มของ CVS ก็คือแม้ว่า CVS นั้นดีมาก แต่ก็มีปัญหาการออกแบบและการใช้งานที่จริงจัง Biggies สำหรับฉันคือ: 1) คุณไม่สามารถไดเรกทอรีรุ่น 2) การจัดการไฟล์ไบนารีไม่ดีเกินไปเนื่องจากหลายสิ่งเริ่มต้นเป็นข้อความ 3) ไม่มีพันธะปรมาณู 4) ฉันจำได้ว่ามันมักจะเลอะและออกจากไฟล์ล็อครอบที่ฉันต้องลบด้วยตนเองจากที่เก็บรหัส มีพื้นที่สำหรับความเสียหายในการทำเช่นนี้ตั้งแต่คุณล็อคไฟล์ 5) การสนับสนุน SSL และการจัดการผู้ใช้ / รหัสผ่าน

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

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

เว็บไซต์นี้อาจมีประโยชน์บางอย่าง (แม้ว่าฉันไม่สามารถรับรองได้): การตั้งค่าพื้นที่เก็บข้อมูล svn แบบแยกส่วนสำหรับเว็บไซต์ php http://www.howtoforge.com/set-up-a-modular-svn-repository-for -php-เว็บไซต์


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

3

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

ดังนั้นแม้ว่าฉันยอมรับว่าปฏิบัติที่ดีที่สุดคือการทุกอย่างรุ่นควบคุมหากไม่ปฏิบัติในกรณีแรกเริ่มต้นด้วยการควบคุมสิ่งเหล่านั้นขาดซึ่งการควบคุมของคุณได้ก่อให้เกิดปัญหาส่วนใหญ่มาจนบัดนี้

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

สิ่งนี้ไม่เพียงให้ผลตอบแทนที่ดีที่สุดสำหรับการลงทุนเท่านั้น แต่ยังให้เหตุผลที่ชัดเจนในการขยายการใช้งานการควบคุมเวอร์ชันในอนาคต: "เนื่องจากเราได้เพิ่มการควบคุมเวอร์ชันไปยังรหัสแอปพลิเคชัน ได้ลดลงจาก 11 เดือนเป็น 2 ทั้งสองเกิดจากการเปลี่ยนแปลง HTML แบบคงที่ดังนั้นเราจึงตั้งใจที่จะควบคุมเวอร์ชันเหล่านั้นต่อไป ".

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

แก้ไข 1: ถ้าคุณตัดสินใจที่จะไปเส้นทางนี้ backstop ราคาถูกเป็นชิปคือการเพิ่มtripwireด้านบนอย่างน้อยในกล่องการผลิต ด้วยวิธีนี้ถ้า Things Break แต่ VCS บอกว่ามันไม่มีอะไรรับผิดชอบในปัจจุบันคุณสามารถระบุสิ่งที่ เปลี่ยนแปลงได้อย่างรวดเร็วซึ่งทั้งคู่เร่งการแก้ไขและแนะนำผู้สมัครคนถัดไปของคุณสำหรับการควบคุมเวอร์ชัน


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

เฮ้ฉันด้วย อ่านบิตที่ระบุว่า "ฉันยอมรับว่าแนวปฏิบัติที่ดีที่สุดคือควบคุมทุกสิ่ง" แต่ในการแก้ไข 1 OP จะขอเฉพาะกลยุทธ์ทางเลือกให้กับกลยุทธ์ที่ดีที่สุดและนี่เป็นอันดับสองที่ยอดเยี่ยมที่สุด
MadHatter

ขออภัยที่ฉันอ่านผิดย่อหน้าว่า "มันไม่สามารถใช้งานได้" เมื่อมันบอกว่า "ถ้ามันไม่ได้เป็นจริง ... " ดังนั้นคุณค่อนข้างถูกต้องมันเป็นทางเลือก
Matt

นี่เป็นทางเลือกที่เหมาะสม โดยเฉพาะอย่างยิ่งกับความคิดของ บริษัท 'พิสูจน์ก่อนที่เราจะยอมรับอย่างเต็มที่'
DTest

2

เวอร์ชันควบคุมทุกอย่าง ไม่มีจุดใดที่ไฟล์ HTML ภายใต้การควบคุมเวอร์ชันและจากนั้นทำให้ไซต์มีการเมาอย่างสมบูรณ์เนื่องจากการเปลี่ยนแปลงใน CSS ที่ไม่ได้ถูกควบคุมและดังนั้นจึงไม่สามารถย้อนกลับได้ง่าย

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

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

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

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


2

จัดทำทุกอย่าง

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

หากคุณไปกับรูปแบบการกระจาย "ชำระเงินโดยตรงในเว็บไซต์ของลูกค้า" คุณจะต้องแน่ใจว่าเซิร์ฟเวอร์ของคุณไม่รวมการเข้าถึงไดเรกทอรีควบคุมเวอร์ชันเพื่อให้ผู้คนไม่สามารถเรียกดูhttp://example.com/ คอมไพล์และมองเข้าไปภายในของคุณ นอกจากนี้ผมจะแน่นอนมีการทดสอบและการผลิต virtualhost สำหรับลูกค้าแต่ละในการสั่งซื้อเพื่อให้แน่ใจว่าการปรับปรุงสถานที่ไม่ได้ไปยุ่งเหยิง โดยเฉพาะอย่างยิ่งหากคุณทำการเปลี่ยนแปลงที่กำหนดเองกับไฟล์ของลูกค้าแต่ละรายคุณจะต้องจัดการกับข้อขัดแย้งก่อนที่การเปลี่ยนแปลงจะดำเนินต่อไป ในกรณีนี้คุณต้องชำระเงิน / อัปเดตการทดสอบโฮสต์เสมือนและเมื่อทุกอย่างทำงานถูกต้องคุณจะคัดลอกการทดสอบโฮสต์เสมือนไปยังโฮสต์เสมือนการผลิต


น่าเสียดายที่มันจะต้องมีการตั้งค่ากับแต่ละไซต์ที่เป็น 'กำหนดเอง' เพื่อให้สามารถปรับแต่งได้ (แม้ว่าจะไม่มีใครอยู่ในขณะนี้)
DTest

@Dest การทดสอบนี้สามารถทำได้ แต่หมายถึงการทำงานมากขึ้นสำหรับความขัดแย้งมากขึ้นขึ้นอยู่กับลักษณะของการปรับแต่ง แน่นอนว่าหากคุณทำการปรับแต่งมากมายการจัดการกับความขัดแย้งอาจจะดีกว่าที่จะลืมว่าคุณเปลี่ยน index.php สำหรับลูกค้าและแทนที่ด้วย index.php ใหม่ที่ไม่มีคุณสมบัติพิเศษอีกต่อไป
DerfK

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

0

ทุกสิ่งที่ผู้คนกำลังพูดเกี่ยวกับสิ่งที่เป็นรุ่นที่ดี

หากคุณตัดสินใจที่จะใช้การโค่นล้มฉันขอแนะนำให้ลองใช้ Bitnami Trac stack; http://bitnami.org/stack/trac

มันลดความยุ่งยากในการตั้งค่าการโค่นล้มสำหรับคุณมาพร้อมกับระบบตั๋ว (ซึ่งคุณสามารถเลือกที่จะใช้ในขั้นตอนนี้หรือไม่) เพื่อติดตามการเปลี่ยนแปลง & ข้อบกพร่องและวิกิที่คุณสามารถใช้เพื่อจัดทำเอกสารว่าคุณต้องการให้นักพัฒนา ระบบ.

ให้นักพัฒนา Windows ของคุณ TortoiseSVN สอนให้ทุกคนรู้พื้นฐานเกี่ยวกับบรรทัดคำสั่ง svn

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

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