Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2008-11-19 10:32:43
Size: 4724
Comment: Translate TutorialClone to Thai
Revision 8 as of 2009-05-19 19:30:57
Size: 4748
Editor: localhost
Comment: converted to 1.6 markup
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 คือ [[ThaiRepository|repository]] ไอ้เจ้า repository เก็บไฟล์ที่เราต้องการแก้ไข รวมทั้งประวัติของไฟล์เหล่านั้นด้วย
Line 9: Line 9:
วิธีที่ง่ายที่สุดในการเริ่มใช้งาน Mercurial ก็คือใช้ repository ที่มีไฟล์และประวัติการแก้ไขอยู่บ้างแล้ว วิธีที่ง่ายที่สุดในการเริ่มใช้งาน Mercurial ก็คือลองทำ[[ThaiClone|สำเนา]]จาก 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 ว่าคุณต้องการ[[ThaiPull|ึงระวัติการแก้ไข]]จากอีก repository หรอให้ repository อ่น[[ThaiPush|ผลักระวัติการแก้ไข]]มาที่ repository ของคุณ
Line 49: Line 47:
โดยปกติ คำสั่ง `hg clone` จะดึงเอา (ลองดู [:Update]) [:Revision:revision] [:Tip:ปลาย]สุดของ repository
ใน[:WorkingDirectory:ไดเร็คทอรี่ทำงาน] ของ repository ถ้าคุณต้องการดูว่าตอนนี้ใช้ revision ไหนอยู่ก็สามาถทำได้โดยใช้คำสั่ง [:Parent:parents]:
โดยปกติคำสั่ง `hg clone` จะ[[Update|อัพเดท]][[ThaiWorkingDirectory|ไดเร็คทอรี่ทำงาน]]ของเราให้เนื้อหาตรงกับเวอร์ชั่น[[Tip|ปลาย]]ของ repository โดยอัตโนมัติ
ถ้าเราต้องการดูว่าตอนนี้ใช้ revision ไหนอยู่ก็สามาถทำได้โดยใช้คำสั่ง [[Parent|parents]]:
Line 61: Line 59:
เอาล่ะ ทีนี้คุณก็สามารถดูประวัติของ repository ที่เราเพิ่งลอกมาได้แล้ว อ่านต่อที่ ThaiTutorialHistory เอาล่ะ ตอนนี้เมื่อเรามีสำเนาของ repository ให้เล่นแล้ว เราก็สามารถ [[ThaiTutorialHistory|ดูประวัติการแก้ไขใน repository]] ได้แล้ว
Line 65: Line 63:
CategoryThai

บทเรียน - ทำสำเนา 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)