SVN - วงจรชีวิต

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

สร้างที่เก็บ:

ที่เก็บเป็นศูนย์กลางที่นักพัฒนาจัดเก็บงานทั้งหมดของพวกเขา Repository ไม่เพียง แต่เก็บไฟล์ แต่ยังเก็บประวัติเกี่ยวกับการเปลี่ยนแปลงด้วย ซึ่งหมายความว่าจะเก็บรักษาประวัติของการเปลี่ยนแปลงที่เกิดขึ้นในไฟล์

การดำเนินการ 'สร้าง' ใช้เพื่อสร้างที่เก็บใหม่ ส่วนใหญ่การดำเนินการนี้จะทำเพียงครั้งเดียว เมื่อคุณสร้างที่เก็บใหม่ VCS ของคุณจะคาดหวังให้คุณพูดอะไรบางอย่างเพื่อระบุสิ่งนั้นเช่นคุณต้องการสร้างที่เก็บที่ไหนหรือควรตั้งชื่ออะไรให้กับที่เก็บ

เช็คเอาท์

การดำเนินการ 'ชำระเงิน' ใช้เพื่อสร้างสำเนาที่ใช้งานได้จากที่เก็บ Working Copy คือสถานที่ทำงานส่วนตัวที่นักพัฒนาทำการเปลี่ยนแปลงและส่งการเปลี่ยนแปลงเหล่านี้ไปยังที่เก็บในภายหลัง

อัปเดต

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

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

ตอนนี้สำเนาการทำงานของ Tomล้าสมัยแล้ว การดำเนินการอัปเดตจะดึงการเปลี่ยนแปลงล่าสุดของ Jerryจากที่เก็บและจะอัปเดตสำเนาการทำงานของ Tom

ทำการเปลี่ยนแปลง

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

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

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

การดำเนินการ 'เปลี่ยนชื่อ' เปลี่ยนชื่อของไฟล์ / ไดเร็กทอรี การดำเนินการ 'Move' ใช้เพื่อย้ายไฟล์ / ไดเรกทอรีจากที่หนึ่งไปยังอีกที่หนึ่งในโครงสร้างที่เก็บ

ตรวจสอบการเปลี่ยนแปลง

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

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

การดำเนินการ 'สถานะ' จะให้รายการการเปลี่ยนแปลงเท่านั้น แต่ไม่มีรายละเอียดเกี่ยวกับการเปลี่ยนแปลง เราสามารถใช้การดำเนินการต่างเพื่อดูรายละเอียดของการปรับเปลี่ยนที่ทำกับสำเนาการทำงาน

แก้ไขข้อผิดพลาด

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

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

แก้ไขความขัดแย้ง:

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

ยอมรับการเปลี่ยนแปลง

การดำเนินการ 'Commit' ใช้เพื่อใช้การเปลี่ยนแปลงจากสำเนาการทำงานไปยังที่เก็บ การดำเนินการนี้จะแก้ไขที่เก็บและนักพัฒนาอื่น ๆ สามารถเห็นการเปลี่ยนแปลงเหล่านี้ได้โดยการอัพเดตสำเนาที่ใช้งานได้

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