03 พฤศจิกายน 2553

คำสั่งในการใช้งาน hg (Mercurial) และการสร้าง makefile



         hg หรือ Mercurial เป็นโปรแกรมไว้สำหรับจัดการ repository เพื่อใช้ในการพัฒนาโปรแกรม hg มีความสามารถมากมายเช่น การตรวจสอบดูว่ามีการแก้ไขอะไรบ้าง มีประวัติการแก้ไขอย่างไร ซึ่งมีประโยชน์มากสำหรับผู้ที่จะพัฒนาโปรแกรมที่มีผู้พัฒนาหลายๆ คน

         ก่อนที่เราจะใช้งาน hg เราต้องไปสร้างไฟล์ .hgrc ไว้ที่ home directory (login เข้าแล้วจะอยู่ใน home directory) ของเราก่อน เวลาแก้ไขโปรแกรมแล้ว commit จะมาถึงประวัติของเราจาก .hgrc



คำสั่งย่อยของ hg (รูปแบบการใช้งาน "hg คำสั่งย่อย")


 add                  ไว้เพิ่มไฟล์ให้ hg รู้จัก
 annotate           show changeset information by line for each file
 clone                ไว้ทำการ ทำสำเนา repository จากต้นฉบับ
 commit (ย่อ ci)            ไว้ทำการ commit ว่าเราแก้ไขอะไรไปบ้าง
 diff                  ไว้ดูว่าใน repository ถูกแก้ไขอะไรไปบ้าง
 export             สร้างไฟล์ diff
 forget               forget the specified files on the next commit
 init                   ไว้สร้าง repository ใหม่ใน project ของเรา (มันจะสร้าง Directory ชื่อ .hg ไว้เก็บประวัติการแก้ไข และอื่นๆ)
 import              นำไฟล์ diff เข้ามาใช้งาน
 log                   ไว้ดู ประวัติการแก้ไข ทั้งหมด
glog                   ไว้ดู ประวัติการแก้ไขแบบกราฟ ทั้งหมด
 parent (ย่อ pr)               ไว้ดู ประวัติการแก้ไข ล่าสุด
 heads               ไว้ดูประวัติส่วน head ถ้ามีการ pull จะมีมากกว่า 1
 merge            รวมการแก้ไขไฟล์ของหลายๆ ที่เข้าด้วยกัน
 pull               ดึงประวัติการแก้ไขให้ตรงกันของ repository ทั้งสอง
 push               ใช้สำหรับเอาไฟล์ขึ้น web repository ของเรา
 remove           ไว้ลบไฟล์ที่ hg รู้จักออก (แต่ไม่มีไฟล์นั้นอยู่แล้ว)
 revert              ไว้กู้ไฟล์ก่อนถูกแก้ไขขึ้นมา ของเก่าจะชื่อ.orig
 serve               start stand-alone webserver
 status (ย่อ st)            ไว้ดูสถานะขอไฟล์ทุกไฟล์ใน repository
 summary         summarize working directory state
 update            update ให้ repository มีไฟล์ที่ตรงกัน (ถ้าคนละสายจะใช้ไม่ได้ต้องใช้ merge แทน)
 rollback           ย้อนประวัติการแก้ไขกลับไป 1 ครั้ง

 **** ส่วนที่เป็นภาษา ENG นั้นยังไม่ทราบแน่ชัดเท่าไร ถ้าทราบแล้วจะมาแปลให้อีกทีนะครับ
 
สร้างไฟล์ .hgrc ก่อนใช้งาน hg ใน home directory โดยใช้ vi
[ui]
username = John Doe <john@example.com>

ตัวอย่างวิธีสร้าง repository ใหม่
1. สร่้าง directory ชื่อ project (ชื่ออื่นก็ได้)
          mkdir project

2. ให้ hg รู้จัก project ของเรา (จะได้ Directory ชื่อ .hg (นี่ละคือ repository) ใน project)
          hg init project

3.เข้าไปใน directory project
          cd project

4. สร้างไฟล์โปรแกรมอะไรก็ได้ เช่น hello.cpp แล้วก็พิมพ์ Code เข้าไป
5. ทำการ add file เพื่อให้ hg รู้ว่ามีไฟล์เพิ่มมา (hg จะทำการตรวจว่ามีไฟล์อะไรบ้างที่เรายังไม่ได้เพิมจะเพิ่มให้เองเลย)
          hg add

6. บันทึกการแก้ไขของเราใช้คำสั่ง
         hg commit -m "Create hello.cpp(ข้อความอธิบายว่าเราแก้อะไรบ้าง)"

ถ้าหากลบไฟล์ออกแล้วแต่ใน hg ยังมีไฟล์อยู่ให้ใช้คำสั่ง "hg remove ชื่อไฟล์"
แล้วใช้คำสั่ง "hg log" เพื่อที่จะดูว่าเรา commit อะไรไปบ้าง
ให้ลองแก้ไขแล้ว commit ใหม่แล้ว "hg log" อีกรอบจะมี commit เพิ่มขึ้นมา

วิธีการสร้าง makefile เบื้องต้น
1.ให้สร้างไฟล์ชื่อ makefile ใน repository Code ดังนี้
main:hello.cpp
        g++ hello.cpp -o main
clean:
        rm main

ถ้าจะ Compile ใช้คำสั่ง make จะได้ไฟล์ main ไว้รันโปรแกรม

เว็บไซต์ที่เกี่ยวข้อง
http://mercurial.selenic.com/wiki/ThaiTutorial
http://mercurial.selenic.com/guide/


3 ความคิดเห็น: