หลักสูตรเร่งรัดใช้งาน Mercurial
(ลองดูหน้าที่เกี่ยวข้องที่ ทำความเข้าใจ Mercurial และ เรียนรู้การใช้งาน Mercurial และ QuickStart2)
Contents
1. ตั้งชื่อผู้ใช้
โดยปกติ Mercurial จะใช้ชื่อผู้ใช้ในรูปแบบ 'user@localhost' สำหรับการคอมมิท แต่รูปแบบนี้ไม่ค่อยมีความหมายเท่าไร คุณควรจะใช้อีเมล์ของคุณแทนในไฟล์ ~/.hgrc (หรือถ้าใช้วินโดวส์ก็ไฟล์ %USERPROFILE%\Mercurial.ini) โดยเพิ่มบรรทัดดังนี้:
[ui] username = John Doe <john@example.com>
2. การทำงานกับโปรเจค Mercurial ที่มีอยู่แล้ว
ถ้าคุณมี URL สำหรับ repository ที่มีอยู่แล้ว (เช่น http://selenic.com/hg) คุณสามารถทำสำเนาของ repository ได้เลย ดังตัวอย่างนี้:
$ hg clone http://selenic.com/hg mercurial-repo real URL is http://www.selenic.com/hg/ requesting all changes adding changesets adding manifests adding file changes added 6908 changesets with 13429 changes to 976 files updating working directory 861 files updated, 0 files merged, 0 files removed, 0 files unresolved
คำสั่งนี้จะสร้างไดเร็คทอรี่ใหม่ชื่อ mercurial-repo จากนั้นจะดึงเอาประวัติทั้งหมดของโปรเจคและ สร้างไฟล์จาก changeset เวอร์ชั่นปลายของ repository (ดูคำสั่ง Clone)
คุณสามารถดูว่าไฟล์ในไดเร็คทอรี่สำหรับใช้ทำงานมาจากเวอร์ชั่นไหนของประวัติได้โดยใช้คำสั่ง:
$ cd mercurial-repo $ hg parents changeset: 6907:6dcbe191a9b5 tag: tip user: Matt Mackall <mpm@selenic.com> date: Mon Aug 18 16:50:36 2008 -0500 summary: Fix up tests
3. สร้างโปรเจค Mercurial ใหม่
ถ้าคุณต้องการสร้าง repository ใหม่:
$ cd project/ $ hg init # creates .hg
Mercurial จะค้นหาไฟล์ชื่อ .hgignore ในไดเร็คทอรี่รากของ repository ซึ่งมีแพทเทิร์นของไฟล์ที่ Mercurial จะไม่สนใจ นี่คือตัวอย่างของไฟล์ .hgignore:
syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
คุณสามารถทดสอบไฟล์ .hgignore ด้วย:
$ hg status # แสดงเฉพาะไฟล์ที่ Mercurial สนใจ
คำสั่งนี้จะแสดงไฟล์ทั้งหมดที่ Mercurial ไม่เพิกเฉยโดยมีเครื่องหมาย '?' หน้าชื่อไฟล์ (ซึ่งหมายความว่าไฟล์นี้ยังไม่ถูกเก็บประวัติ) แก้ไฟล์ .hgignore จนกว่าคุณเห็นเฉพาะรายชื่อไฟล์ที่คุณต้องการเก็บประวัติ อย่าลืมว่าคุณต้องการเก็บประวัติของไฟล์ .hgignore ด้วย! แต่คุณคงไม่ต้องเก็บประวัติของไฟล์ที่มาจากการ build โค้ดของคุณ หลังจากนั้นให้เพิ่มไฟล์ที่คุณต้องการเก็บประวัติกับ Mercurial และ คอมมิท:
$ hg add # เพิ่มไฟล์ 'ที่ยังไม่รู้สถานะ' เข้าไปใน Mercurial $ hg commit # คอมมิทการแก้ไข เพิ่ม changelog ใหม่ $ hg parents # ดูเวอร์ชั่นที่อยู่ในไดเร็คทอรี่สำหรับใช้ทำงาน
4. ทำสำเนา คอมมิท และรวมประวัติการแก้ไข
$ hg clone project project-work # ทำสำเนา repository $ cd project-work $ <make changes> $ hg commit $ cd ../project $ <make other changes> $ hg commit $ hg pull ../project-work # ดึง changesets มาจาก project-work $ hg merge # รวมส่วนปลายของ repository project-work เข้ามาในไดเร็คทอรี่สำหรับใช้ทำงานของเรา $ hg parents # ดูเวอร์ชั่นการแก้ไขที่ถูกรวมในไดเร็คทอรี่สำหรับใช้ทำงาน $ hg commit # คอมมิทผลของการรวม
หน้าที่เกี่ยวข้อง: ทำสำเนา repository, Commit, Pull, Merge, Parent
5. การส่งออกแพ๊ทช์
(ทำการแก้ไข) $ hg commit $ hg export tip # ส่งออกคอมมิทล่าสุด
หน้าที่เกี่ยวข้อง: Export
6. การสนับสนุนคำสั่งผ่านเครือข่าย
# ทำสำเนาจาก repo Mercurial foo$ hg clone http://selenic.com/hg/ foo$ cd hg # ดึงประวัติใหม่จาก repo ที่มีอยู่ foo$ hg pull http://selenic.com/hg/ # ส่งออกประวัติการแก้ไขใน repo ของคุณผ่าน HTTP พร้อมอินเทอร์เฟซแสดงผล foo$ hg serve -n "My repo" -p 80 # ผลักประวัติการแก้ไขไปที่ repo อื่นด้วย SSH foo$ hg push ssh://user@example.com/hg/
หน้าที่เกี่ยวข้อง: Serve, Push, Pull