Differences between revisions 1 and 2
Revision 1 as of 2008-11-19 10:32:43
Size: 4724
Comment: Translate TutorialClone to Thai
Revision 2 as of 2008-11-21 08:39:02
Size: 4701
Comment: Edit contents to make reading easier.
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
''(หน้านี้เป็นหน้าที่ 2 จาก 9 ของ [:ThaiTutorial:บทเรียน] การใช้งาน Mercurial  หน้าก่อนหน้าคือ [:ThaiTutorialInstall], หน้าถัดไปคือ [:ThaiTutorialHistory])'' ''(บทนี้เป็นบทที่ 2 จาก 9 บทของ [:ThaiTutorial:บทเรียนการใช้งาน Mercurial] บทก่อนหน้าคือ [:ThaiTutorialInstall:การติดตั้ง Mercurial], บทถัดไปคือ [:ThaiTutorialHistory:ดูประวัติการแก้ไขใน repository])''
Line 5: Line 5:
คุณได้ทำตาม ThaiTutorialInstall เพื่อติดตั้ง Mercurial แล้วใช่มั๊ย?  เยี่ยม! คุณได้ทำตามขั้นในในบท [:ThaiTutorialInstall:การติดตั้ง Mercurial] เพื่อติดตั้งโปรแกรมแล้วใช่มั๊ย? เยี่ยม!
Line 7: Line 7:
Mercurial เราทำงานต่างๆในสิ่งที่เรียกว่า [:Repository:repository] โดย repository ก็คือไดเร็คทอร่หนึ่งที่เก็บไฟล์ที่เราต้องการแก้ไข รวมทั้งประวัติของไฟล์เหล่านั้นด้วย หัวจของ Mercurial คือ [:Repository:repository] ไอ้เจ้า repository เก็บไฟล์ที่เราต้องการแก้ไข รวมทั้งประวัติของไฟล์เหล่านั้นด้วย
Line 9: Line 9:
วิธีที่ง่ายที่สุดในการเริ่มใช้งาน Mercurial ก็คือใช้ repository ที่มีไฟล์และประวัติการแก้ไขอยู่บ้างแล้ว วิธีที่ง่ายที่สุดในการเริ่มใช้งาน Mercurial ก็คือลองทำ[:Clone:สำเนา]จาก repository ที่มีอยู่ก่อนแล้วโดยใช้คำสั่ง {{{clone}}} คำสั่งนี้จะสร้างสำเนาของ repository ต้นฉบับเป็น repository ส่วนตัวสำหรับไว้ทำงานบนเครื่องตัวเองได้
Line 11: Line 11:
เราจะต้องใช้คำสั่ง {{{clone}}} เพื่อทำ[:Clone:สำเนา]ของ repository คำสั่งนี้จะสร้างสำเนาทั้งหมดจาก repository อีกอันหนึ่งเพื่อที่เราจะสามารถมี repository ส่วนตัวสำหรับไว้ทำงานบนเครื่องตัวเองได้

ลองทำสำเนาของ "hello, world" repository ที่อยู่ที่ selenic.com กันเถอะ:
เราลองมาทำสำเนาของ repository "hello, world" ที่อยู่ที่ selenic.com กันเถอะ:
Line 19: Line 17:
ถ้าทุกอย่างเป็นไปด้วยดี คำสั่ง {{{clone}}} จะพิมพ์ผลลัพธ์ดังนี้ (ใ Mercurial 1.0): ถ้าทุกอย่างเป็นไปด้วยดี คำสั่ง {{{clone}}} จะพิมพ์ผลลัพธ์ดังนี้ (ถ้าช้ Mercurial 1.0):
Line 45: Line 43:
ซึ่งไฟล์เห่านี้เหมือนกันกับไฟล์ใน repository ที่เราเพิ่งคดลอกมาเป๊ะ เนื้อหาของไฟล์ 2 ไฟนี้เหมือนกันกับไฟล์ใน repository ต้นฉบเป๊ะ
Line 47: Line 45:
'''หมายเหตุ:''' ใน Mercurial แต่ละ repository นั้นอยู่แบบเป็นเอกเทศ เวลาคุณทำสำเนาของ repository สำเนานั้นจะเหมือนกับตัวต้นแบบ ณ ตอนที่คุณทำสำเนาเป๊ะ แต่ว่าการแก้ไขต่างๆที่เกิดขึ้นหลังจากนั้นใน repository หนึ่ง ''จะไม่อยู่ใน'' อีก repository จนกว่าคุณจะบอก Mercurial ว่าคุณต้องการ[:Pull:ดูการเลี่ยนแปลงจาก repository อ่น] หรอให้ repository อื่นๆ[:Push:เห็นการเลี่ยนแปลงของคุณ] '''หมายเหตุ:''' ใน Mercurial แต่ละ repository จะอยู่แบบเป็นเอกเทศ เวลาเราทำสำเนา repository สำเนานั้นจะเหมือนกับตัวต้นแบบตอนที่คุณทำสำเนาเป๊ะ แต่ว่าการแก้ไขต่างๆที่เกิดขึ้นหลังจากนั้นใน repository หนึ่ง''จะไม่อยู่ใน''อีก repository จนกว่าคุณจะบอก Mercurial ว่าคุณต้องการ[:Pull:ดึงระวัติการแก้ไข]จากอีก repository หรอให้ repository อ่น[:Push:ผลักระวัติการแก้ไข]มาที่ repository ของคุณ
Line 49: Line 47:
โดยปกติ คำสั่ง `hg clone` จะดึงเอา (ลองดู [:Update]) [:Revision:revision] [:Tip:ปลาย]สุดของ repository
ใน[:WorkingDirectory:ไดเร็คทอรี่ทำงาน] ของ repository ถ้าคุณต้องการดูว่าตอนนี้ใช้ revision ไหนอยู่ก็สามาถทำได้โดยใช้คำสั่ง [:Parent:parents]:
โดยปกติคำสั่ง `hg clone` จะ[:Update:อัพเดท][:WorkingDirectory:ไดเร็คทอรี่ทำงาน]ของเราให้เนื้อหาตรงกับเวอร์ชั่น[:Tip:ปลาย]ของ repository โดยอัตโนมัติ
ถ้าเราต้องการดูว่าตอนนี้ใช้ revision ไหนอยู่ก็สามาถทำได้โดยใช้คำสั่ง [:Parent:parents]:
Line 61: Line 59:
เอาล่ะ ทีนี้คุณก็สามารถดูประวัติของ repository ที่เราเพิ่งลอกมาได้แล้ว อ่านต่อที่ ThaiTutorialHistory เอาล่ะ ตอนนี้เมื่อเรามีสำเนาของ repository ให้เล่นแล้ว เราก็สามารถ [:ThaiTutorialHistory:ดูประวัติการแก้ไขใน repository] ได้แล้ว

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

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

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

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

วิธีที่ง่ายที่สุดในการเริ่มใช้งาน Mercurial ก็คือลองทำ[:Clone:สำเนา]จาก 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 ว่าคุณต้องการ[:Pull:ดึงประวัติการแก้ไข]จากอีก repository หรือให้ repository อื่น[:Push:ผลักประวัติการแก้ไข]มาที่ repository ของคุณ

โดยปกติคำสั่ง hg clone จะ[:Update:อัพเดท][:WorkingDirectory:ไดเร็คทอรี่ทำงาน]ของเราให้เนื้อหาตรงกับเวอร์ชั่น[:Tip:ปลาย]ของ repository โดยอัตโนมัติ ถ้าเราต้องการดูว่าตอนนี้ใช้ revision ไหนอยู่ก็สามาถทำได้โดยใช้คำสั่ง [:Parent: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 ให้เล่นแล้ว เราก็สามารถ [:ThaiTutorialHistory:ดูประวัติการแก้ไขใน repository] ได้แล้ว


CategoryTutorial

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