โฮมเพจ » ทำอย่างไร » การติดตามเวอร์ชันด้วยการโค่นล้ม (SVN) สำหรับผู้เริ่มต้น

    การติดตามเวอร์ชันด้วยการโค่นล้ม (SVN) สำหรับผู้เริ่มต้น

    คุณเคยต้องการที่จะทำงานในโครงการที่มีความสามารถในการติดตามการเปลี่ยนแปลงของคุณเช่นเดียวกับการย้อนกลับพวกเขา? How-To Geek อธิบายวิธีใช้ระบบติดตามเวอร์ชันยอดนิยม Subversion (a.k.a SVN).

    ภาพโดยชัดเจนไม่ชัดเจน

    Prelog

    คำแนะนำนี้จะช่วยให้คุณสามารถใช้ subversion ไคลเอ็นต์โดยทั่วไปและถ้าคุณมีหนึ่งตัวในเราเตอร์ * DD-WRT ของคุณ คำแนะนำนี้ไม่มีคำแนะนำที่ชัดเจนสำหรับการโค่นล้มและข้อมูลจำนวนมากสามารถพบได้ในการโค่นล้ม Red Book คู่มือนี้มีวัตถุประสงค์เพื่อให้คำตอบสั้น ๆ กับคำถามพื้นฐานที่สุดเท่านั้น.

    ภาพรวม

    อาจมีสาเหตุหลายประการที่คุณต้องการ "ชำระเงิน" รหัสล่าสุดสำหรับโครงการซอฟต์แวร์ที่ใช้ระบบการกำหนดรุ่น การทำเช่นนั้นช่วยให้คุณได้รับประโยชน์จากการเปลี่ยนแปลงล่าสุดที่ยังไม่ได้เผยแพร่ความช่วยเหลือในการทดสอบและแม้แต่การพัฒนา ในคู่มือนี้เราจะอธิบายคำศัพท์พื้นฐาน SVN ขั้นพื้นฐานแสดงวิธีการติดตั้งไคลเอนต์ SVN บน Linux, Windows และหากคุณมี OPKG ที่เปิดใช้งานเราเตอร์ DD-WRT ของคุณ เราได้รวมตัวอย่างของโครงการที่คุณสามารถชำระเงินและใช้สำหรับเราเตอร์ดังกล่าว.

    การโค่นล้มคืออะไร?

    การโค่นล้มไม่ได้หมายความว่าระบบควบคุมรุ่นเดียวเท่านั้นที่มีอยู่และทางเลือกอื่น ได้แก่ Git (ซึ่งถูกสร้างโดย Linus Torvalds ผู้ก่อตั้งเคอร์เนล Linux), Mercurial และ PerForce ด้วยที่กล่าวว่ามันเป็นหนึ่งในฟรีมันเป็นผู้ใหญ่และมีการใช้อย่างกว้างขวางทั่วโลก.

    ออกมาจากการโค่นล้ม“ Red Book”:

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

    หมายเหตุ: หนังสือเล่มนี้ คือ คอลเลกชันที่ดีที่สุดของความรู้เกี่ยวกับการโค่นล้มและคุณควรที่จะอ้างถึงมันในทุกหัวข้อที่เกี่ยวข้องกับการโค่นล้ม.

    การกำหนดเวอร์ชันคืออะไร?

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

    คำศัพท์

    พื้นที่เก็บข้อมูล
    ที่เก็บเป็นที่เก็บข้อมูลทั้งหมดจากสถานที่ต่าง ๆ ทั้งหมดจะถูกบันทึกไว้ ในโลกการโค่นล้มจากมุมมองของลูกค้าเป็นเซิร์ฟเวอร์ที่เก็บฐานข้อมูลของโครงการ ฐานข้อมูลนี้มีไฟล์ทั้งหมดที่เป็นส่วนหนึ่งของโครงการที่มีรุ่นที่ผ่านมาทั้งหมด.

    การทบทวน

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

    สำเนาการทำงาน

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

    การอัปเดตและการแก้ไขข้อขัดแย้ง

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

    การผสม

    การผสานหมายถึงกระบวนการที่รหัสที่ถูกเปลี่ยนจะถูกผสมเป็นหนึ่งรุ่น มันอาจนำมาซึ่งการแก้ไขข้อขัดแย้ง.

    commits

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

    ขั้นตอนการทำงาน

    เวิร์กโฟลว์พื้นฐานที่สุดจากมุมมองของผู้ใช้เมื่อใช้การโค่นล้มคือ:

    1. ชำระเงินรหัสที่มีอยู่ (มักจะเป็น "หัว").
    2. ทำการเปลี่ยนแปลงเพิ่มไฟล์และพัฒนารหัสโดยทั่วไป.
    3. อัปเดตเป็นเวอร์ชันล่าสุดเพื่อให้แน่ใจว่าสำเนาในเครื่องของคุณตรงกับการอัพเดทในที่เก็บ.
    4. รวมประเทศและแก้ไขข้อขัดแย้งในกรณีที่จำเป็น.
    5. ยอมรับการเปลี่ยนแปลงที่ถูกรวมเข้ากับที่เก็บ.
    6. ไปที่ขั้นตอนที่ 2.

    ช่วยให้ได้รับการแตกร้าว

    ติดตั้งไคลเอนต์

    เพื่อให้สามารถใช้การโค่นล้มคุณต้องติดตั้งไคลเอนต์บนเครื่องของคุณ.

    บน Linux

    คุณต้องติดตั้งแพ็คเกจเท่านั้น สำหรับ Ubuntu / Mint สิ่งนี้สามารถทำได้ด้วย:

    sudo aptitude ติดตั้งการโค่นล้ม

    ใน DD-WRT

    หากคุณได้ติดตาม“ วิธีการติดตั้งซอฟต์แวร์เพิ่มเติมบนโฮมเราเตอร์ของคุณ (DD-WRT)” คุณจะสามารถติดตั้งไคลเอ็นต์ svn ได้โดยเพียงแค่ออก:

    อัพเดต opkg; opkg install subversion-client

    บน Windows

    ในขณะที่เราผู้ใช้อย่างล้ำลึกผู้ใช้อาจเริ่มลืมว่า GUI ยังคงมีอยู่ในบางครั้งไม่ใช่ทุกคนที่มี หากคุณต้องการใช้ไคลเอนต์ windows เพื่อเชื่อมต่อกับที่เก็บข้อมูล SVN โดยที่นิยมมากที่สุดคือ "Tortoise" หากต้องการใช้งานเพียงดาวน์โหลดโปรแกรมและติดตั้งตามปกติ“ ถัดไปถัดไปเสร็จสิ้น”.

    สร้าง "พื้นที่เก็บข้อมูล"

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

    • ตรงไปที่เว็บไซต์โฮสติ้ง Google Code และ "สร้าง" โครงการใหม่.
    • ในหน้าถัดไปกรอกข้อมูลในฟิลด์ที่จำเป็นและเลือกประเภทของ“ ระบบควบคุมเวอร์ชัน” เพื่อทำการโค่นล้ม.

      หมายเหตุ: คุณอาจต้องการดูความแตกต่างระหว่างใบอนุญาตของ Google ที่เสนอก่อนที่คุณจะเลือกหนึ่งใบสำหรับโครงการ.
    • คลิก“ สร้างโครงการ”.
    “ ชำระเงิน” สำเนาการทำงานของคุณ

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

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

    หมายเหตุหนึ่งเกี่ยวกับโครงการ hotfortech: โครงการนี้มีวัตถุประสงค์เพื่อใช้เป็น wrapper สำหรับคุณสมบัติที่เพิ่มเข้ากับ DD-WRT บน How-To Geek (ซึ่งฉันใช้เอง) บวกกับการปรับแต่งส่วนตัว ในขณะที่โครงการนี้มุ่งเน้นที่จะทำงานร่วมกับบทความที่เผยแพร่ที่นี่ใน Howtogeek แต่ก็ยังเป็นโครงการส่วนตัวของฉัน นั่นคือมันเหมาะอย่างยิ่งกับเราเตอร์บัฟฟาโลของฉัน (สถาปัตยกรรม AR71xx) ความคาดหวังส่วนบุคคลของฉันและมีแนวโน้มที่จะเป็น borkage เป็นครั้งคราว.

    บน Linux / DD-WRT

    สร้างไดเร็กทอรีเพื่อทำงานตัวอย่างเช่นบน DD-WRT ที่อาจเป็น:

    mkdir -p / jffs / svn; cd / jffs / svn

    คำสั่งทั้งหมดบน Linux ประกอบด้วยคำสั่ง SVN เองคำสั่ง“ checkout” ที่อยู่ของที่เก็บและไดเรกทอรีที่จะเช็คเอาต์ด้วย สร้างไดเรกทอรีว่างและดำเนินการคำสั่งด้านล่าง:

    svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

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

    บน Windows

    เนื่องจากเต่าเป็นส่วนขยายของเชลล์คุณจะต้องใช้เมนูบริบทของ Windows File Explorer (คลิกขวา) เพื่อใช้ ในความเป็นจริงหากคุณพยายามเรียกใช้จากเมนูเริ่มต้นคุณจะได้รับ:

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

    “ อัปเดต” &“ ผสาน” สำเนาการทำงานของคุณ
    หากคุณทำงานกับรหัสกับเพื่อนร่วมงานหรือคุณกำลังอัปเดตรหัสด้วยตนเองจากหลาย ๆ ที่ (เช่นแล็ปท็อปเดสก์ท็อปหรือเราเตอร์) คุณจะต้องอัปเดตสำเนาการทำงานก่อนที่จะทำการเปลี่ยนแปลงล่าสุด.

    บน Linux / DD-WRT

    คำสั่งในการทำสิ่งนี้บนระบบ POSIX เหล่านี้เป็นเพียง:

    svn up

    บน Windows

    • คลิกขวาในไดเรกทอรีทำงานและเลือก“ อัพเดต SVN”:
    • หากคุณพบข้อขัดแย้งลองทำตามคำแนะนำบนหน้าจอและใช้วิจารณญาณของคุณว่าจะทำอย่างไรกับพวกเขา.

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

    บน Linux / DD-WRT

    นี่คือตัวอย่างของความมุ่งมั่นที่ฉันทำกับโครงการ hotfortech ที่อัปเกรดเป็นเวอร์ชัน 19:

    svn commit -m“ อัปเดตเพื่อสะท้อนลิงค์ ant-ads pack ใหม่”

    บน Windows

    • คลิกขวาในไดเรกทอรีใช้งานและเลือก“ SVN Commit”:
    • คุณควรได้รับการต้อนรับจากหน้าต่างที่ช่วยให้คุณสามารถบันทึกข้อความบันทึก:
    • กดปุ่มตกลงและเมื่อได้รับแจ้งให้ใส่รหัสผ่านให้ป้อนรหัสผ่านที่สร้างโดย Google.
    • หากการกระทำสำเร็จคุณควรเห็นสิ่งต่อไปนี้:
    • นั่นคือคุณควรจะสามารถกระทำเช่นเจ้านาย.

    หมายเหตุสุดท้าย
    นี่น่าจะเพียงพอสำหรับคุณในการเริ่มต้น คุณควรอ่านหนังสืออ้างอิงของ SVN เพื่อให้เข้าใจถึงวิธีการใช้งานตัวเลือกและคำเตือนของ SVN ที่ลึกซึ้งยิ่งขึ้น นอกจากนี้เราเตือนคุณอีกครั้งว่าการโค่นล้มไม่ใช่เพียงระบบควบคุมเวอร์ชันเท่านั้นและ GIT (ซึ่งสร้างโดย Linus Torvalds ผู้ก่อตั้งเคอร์เนล Linux) ดูเหมือนว่าจะได้รับความนิยมในช่วงไม่กี่ปีที่ผ่านมา.

    หากคุณเลือกที่จะเรียกใช้ "running-config.sh" จากโครงการ hotfortech บนเราเตอร์ของคุณคุณจะพบว่ามันจะติดตั้งให้คุณในขณะนี้: anti-ads-pack, Opkg geek-init script รวมทั้ง สิ่งต่าง ๆ เช่น GNU แบบเต็ม“ ls”,“ less”,“ BASH” และอื่น ๆ.

    /jffs/svn/hotfortech-dd-wrt/running-conf.sh

    คุณสมบัติเพิ่มเติมกำลังรอดำเนินการและจะถูกเพิ่มในอนาคต.


    ผู้ดูแลระบบจะใช้รหัสในการเข้ารหัส.