Size: 5154
Comment: Edit contents to make reading easier.
|
← Revision 5 as of 2009-05-19 19:30:56 ⇥
Size: 5166
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
''(บทนี้เป็นบทที่ 5 จาก 9 บทของ[:ThaiTutorial:บทเรียนการใช้งาน Mercurial] บทก่อนหน้าคือ [:ThaiTutorialFirstChange:ทำการแก้ไขแรกของคุณ], บทถัดไปคือ [:ThaiTutorialExport:แบ่งปันสิ่งที่คุณแก้ไขกับบุคคลอื่นๆ])'' | ''(บทนี้เป็นบทที่ 5 จาก 9 บทของ[[ThaiTutorial|บทเรียนการใช้งาน Mercurial]] บทก่อนหน้าคือ [[ThaiTutorialFirstChange|ทำการแก้ไขแรกของคุณ]], บทถัดไปคือ [[ThaiTutorialExport|แบ่งปันสิ่งที่คุณแก้ไขกับบุคคลอื่นๆ]])'' |
Line 5: | Line 5: |
ใน[:ThaiTutorialFirstChange:บทที่แล้ว]เราได้สร้าง[:ChangeSet:เซ็ตของการแก้ไข]ใน [:Repository:repository] `my-hello-new-output` ทีนี้ก็ถึงเวลาที่เราจะส่งสิ่งที่เราแก้ไขไปให้ repository อื่นล่ะ | ใน[[ThaiTutorialFirstChange|บทที่แล้ว]]เราได้สร้าง[[ChangeSet|เซ็ตของการแก้ไข]]ใน [[Repository|repository]] `my-hello-new-output` ทีนี้ก็ถึงเวลาที่เราจะส่งสิ่งที่เราแก้ไขไปให้ repository อื่นล่ะ |
Line 7: | Line 7: |
เพื่อทำตามวิธีการใช้งาน Mercurial ที่ดีก่อนอื่นเราต้อง[:Clone:ทำสำเนา] repository ต้นแบบเสียก่อน | เพื่อทำตามวิธีการใช้งาน Mercurial ที่ดีก่อนอื่นเราต้อง[[Clone|ทำสำเนา]] repository ต้นแบบเสียก่อน |
Line 16: | Line 16: |
เราสามารถใช้คำสั่ง `tip` เพื่อดูว่า[:Tip:ส่วนปลาย]ของแต่ละ repository อยุ่ที่การแก้ไขไหน (จำไว้ว่าปลายของ repository คือเซ็ตการแก้ไขครั้งล่าสุด) เราสามารถใช้ตัวเลือก `-q` ("be quiet") เพื่อบอกให้ Mercurial พิมพ์ผลลัพธ์แบบย่อแทน | เราสามารถใช้คำสั่ง `tip` เพื่อดูว่า[[Tip|ส่วนปลาย]]ของแต่ละ repository อยุ่ที่การแก้ไขไหน (จำไว้ว่าปลายของ repository คือเซ็ตการแก้ไขครั้งล่าสุด) เราสามารถใช้ตัวเลือก `-q` ("be quiet") เพื่อบอกให้ Mercurial พิมพ์ผลลัพธ์แบบย่อแทน |
Line 27: | Line 27: |
เราจะเห็นได้ในตัวอย่างว่าส่วนปลายของทั้งสอง repository แตกต่างกัน เพราะฉะนั้นเราจะลองกลับไปที่ `my-hello-share` และดึงเอาเซ็ตการแก้ไขใหม่เข้ามาโดยใช้คำสั่ง `pull` ซึ่งจะ[:Pull:ดึงประวัติการแก้ไข]จาก repository อื่นที่ยังไม่มีอยู่ใน repository ปัจจุบันเข้ามา | เราจะเห็นได้ในตัวอย่างว่าส่วนปลายของทั้งสอง repository แตกต่างกัน เพราะฉะนั้นเราจะลองกลับไปที่ `my-hello-share` และดึงเอาเซ็ตการแก้ไขใหม่เข้ามาโดยใช้คำสั่ง `pull` ซึ่งจะ[[Pull|ดึงประวัติการแก้ไข]]จาก repository อื่นที่ยังไม่มีอยู่ใน repository ปัจจุบันเข้ามา |
Line 43: | Line 43: |
บรรทัดสุดท้ายของผลลัพธ์มีความสำคัญมาก โดยปกติแล้ว Mercurial จะไม่แก้ไขไฟล์ใน[:WorkingDirectory:ไดเร็คทอรี่สำหรับใช้ทำงาน]หลังจากการ ดึงประวัติการแก้ไข ซึ่งก็หมายความว่าถึงแม้ว่า repository จะมีประวัติของเซ็ตการแก้ใหม่ตัวใหม่แล้ว ไฟล์ `hello.c` ในไดเร็คทอรี่สำหรับใช้ทำงานก็ยังมีเนื้อหาเดิมเหมือนก่อนที่จะดึงประวัติการแก้ไขเข้ามาไม่มีผิด | บรรทัดสุดท้ายของผลลัพธ์มีความสำคัญมาก โดยปกติแล้ว Mercurial จะไม่แก้ไขไฟล์ใน[[WorkingDirectory|ไดเร็คทอรี่สำหรับใช้ทำงาน]]หลังจากการ ดึงประวัติการแก้ไข ซึ่งก็หมายความว่าถึงแม้ว่า repository จะมีประวัติของเซ็ตการแก้ใหม่ตัวใหม่แล้ว ไฟล์ `hello.c` ในไดเร็คทอรี่สำหรับใช้ทำงานก็ยังมีเนื้อหาเดิมเหมือนก่อนที่จะดึงประวัติการแก้ไขเข้ามาไม่มีผิด |
Line 45: | Line 45: |
เราสามารถ[:Update:อัพเดท]เนื้อหาของไฟล์นี้ (และไฟล์อื่นๆที่มีถูกแก้ไขจากการดึงประวัติใหม่เข้ามา) โดยทำตามคำแนะนำของ Mercurial (เราจะใช้คำสั่งแบบย่อชื่อ `up`): | เราสามารถ[[Update|อัพเดท]]เนื้อหาของไฟล์นี้ (และไฟล์อื่นๆที่มีถูกแก้ไขจากการดึงประวัติใหม่เข้ามา) โดยทำตามคำแนะนำของ Mercurial (เราจะใช้คำสั่งแบบย่อชื่อ `up`): |
Line 54: | Line 54: |
บทต่อไปจะพูดถึงการ [:ThaiTutorialExport:แบ่งปันสิ่งที่เราแก้ไขกับบุคคลอื่น] | บทต่อไปจะพูดถึงการ [[ThaiTutorialExport|แบ่งปันสิ่งที่เราแก้ไขกับบุคคลอื่น]] |
บทเรียน - แบ่งปันสิ่งที่คุณแก้กับ repository อื่น
(บทนี้เป็นบทที่ 5 จาก 9 บทของบทเรียนการใช้งาน Mercurial บทก่อนหน้าคือ ทำการแก้ไขแรกของคุณ, บทถัดไปคือ แบ่งปันสิ่งที่คุณแก้ไขกับบุคคลอื่นๆ)
ในบทที่แล้วเราได้สร้างเซ็ตของการแก้ไขใน repository my-hello-new-output ทีนี้ก็ถึงเวลาที่เราจะส่งสิ่งที่เราแก้ไขไปให้ repository อื่นล่ะ
เพื่อทำตามวิธีการใช้งาน Mercurial ที่ดีก่อนอื่นเราต้องทำสำเนา repository ต้นแบบเสียก่อน
$ cd .. $ hg clone my-hello my-hello-share updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
เราสามารถใช้คำสั่ง tip เพื่อดูว่าส่วนปลายของแต่ละ repository อยุ่ที่การแก้ไขไหน (จำไว้ว่าปลายของ repository คือเซ็ตการแก้ไขครั้งล่าสุด) เราสามารถใช้ตัวเลือก -q ("be quiet") เพื่อบอกให้ Mercurial พิมพ์ผลลัพธ์แบบย่อแทน
$ cd my-hello-share $ hg -q tip 1:82e55d328c8c $ cd ../my-hello-new-output $ hg -q tip 2:86794f718fb1
เราจะเห็นได้ในตัวอย่างว่าส่วนปลายของทั้งสอง repository แตกต่างกัน เพราะฉะนั้นเราจะลองกลับไปที่ my-hello-share และดึงเอาเซ็ตการแก้ไขใหม่เข้ามาโดยใช้คำสั่ง pull ซึ่งจะดึงประวัติการแก้ไขจาก repository อื่นที่ยังไม่มีอยู่ใน repository ปัจจุบันเข้ามา
$ cd ../my-hello-share $ hg pull ../my-hello-new-output pulling from ../my-hello-new-output searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy)
เราจะสังเกตุได้ว่าคำสั่ง pull นั้นออกจะคืนผลลัพธ์มากกว่าคำสั่งอื่นๆซักหน่อย แต่ในตัวอย่างนี้คำสั่งนี้ทำงานสำเร็จเรียบร้อยดี
บรรทัดสุดท้ายของผลลัพธ์มีความสำคัญมาก โดยปกติแล้ว Mercurial จะไม่แก้ไขไฟล์ในไดเร็คทอรี่สำหรับใช้ทำงานหลังจากการ ดึงประวัติการแก้ไข ซึ่งก็หมายความว่าถึงแม้ว่า repository จะมีประวัติของเซ็ตการแก้ใหม่ตัวใหม่แล้ว ไฟล์ hello.c ในไดเร็คทอรี่สำหรับใช้ทำงานก็ยังมีเนื้อหาเดิมเหมือนก่อนที่จะดึงประวัติการแก้ไขเข้ามาไม่มีผิด
เราสามารถอัพเดทเนื้อหาของไฟล์นี้ (และไฟล์อื่นๆที่มีถูกแก้ไขจากการดึงประวัติใหม่เข้ามา) โดยทำตามคำแนะนำของ Mercurial (เราจะใช้คำสั่งแบบย่อชื่อ up):
$ hg up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ตอนนี้เราสามารถตรวจสอบได้ว่า my-hello-share และ my-hello-new-output มีเนื้อหาและประวัติการแก้ไขเหมือนกันไม่มีผิด
บทต่อไปจะพูดถึงการ แบ่งปันสิ่งที่เราแก้ไขกับบุคคลอื่น