บทเรียน - ทำสำเนา repository

(บทนี้เป็นบทที่ 2 จาก 9 บทของ บทเรียนการใช้งาน Mercurial บทก่อนหน้าคือ การติดตั้ง Mercurial, บทถัดไปคือ ดูประวัติการแก้ไขใน repository)

คุณได้ทำตามขั้นในในบท การติดตั้ง Mercurial เพื่อติดตั้งโปรแกรมแล้วใช่มั๊ย? เยี่ยม!

หัวใจของ Mercurial คือ repository ไอ้เจ้า repository นี้เก็บไฟล์ที่เราต้องการแก้ไข รวมทั้งประวัติของไฟล์เหล่านั้นด้วย

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

เราลองมาทำสำเนาของ repository "hello, world" ที่อยู่ที่ selenic.com กันเถอะ:

$ hg clone http://www.selenic.com/repo/hello my-hello

ถ้าทุกอย่างเป็นไปด้วยดี คำสั่ง clone จะพิมพ์ผลลัพธ์ดังนี้ (ถ้าใช้ Mercurial 1.0):

requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

เอาล่ะ ทีนี้เราควรจะเห็นไดเร็คทอรี่ชื่อ my-hello ในไดเร็คทอรี่ปัจจุบัน:

$ ls
my-hello

ภายในไดเร็คทอรี่ my-hello เราจะเห็นว่ามีไฟล์อยู่สองไฟล์:

$ ls my-hello
Makefile  hello.c

เนื้อหาของไฟล์ 2 ไฟล์นี้เหมือนกันกับไฟล์ใน repository ต้นฉบับเป๊ะ

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

โดยปกติคำสั่ง hg clone จะอัพเดทไดเร็คทอรี่ทำงานของเราให้เนื้อหาตรงกับเวอร์ชั่นปลายของ repository โดยอัตโนมัติ ถ้าเราต้องการดูว่าตอนนี้ใช้ revision ไหนอยู่ก็สามาถทำได้โดยใช้คำสั่ง parents:

$ hg parents
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

เอาล่ะ ตอนนี้เมื่อเรามีสำเนาของ repository ให้เล่นแล้ว เราก็สามารถ ดูประวัติการแก้ไขใน repository ได้แล้ว


CategoryTutorial CategoryThai

ThaiTutorialClone (last edited 2009-05-19 19:30:57 by localhost)