狠狠撸

狠狠撸Share a Scribd company logo
Mercurial

A Distributed Source Management
              System
资工人:
写程式,
改程式...
改錯了?!
本來會動,現在不會動。
Mercurial 簡介
备份!
COPY…
改之前 copy 一份起來
COPY…
 改錯了 copy 回来
COPY?!
 錯的蓋掉對的!
Mercurial 簡介
更惨的..
专案
大家
一起寫
共用
程式碼
一起寫?
Pair Programming
不可能
COPY
 ZIP / RAR
網芳 / E-mail
網芳 / E-mail
UnZIP / UnRAR
    COPY
噩梦
你改,
他也改…
改了
哪裡?
沒人知道…:P
還是
噩梦
救星:
版本
控制
误删?
歷史
紀錄
程式碼
整合?
自動
合併
標示
衝突
</噩梦>
有名的:
CVS
有人用過嗎?
Subversion
  (SVN)
   应该有用过吧?
美好世界?
Client-Server
    Centralized
Client:
專用Client
 (GUI)
  WinCVS
開發環境
  整合
Eclipse, NetBeans, Vim, …
作業系統
 整合
 TotoriseSVN
Server:
http://
  svn://
svn+ssh://
   眼花撩乱…
權限
控管
麻煩
又是
噩梦
没网路…
死
一人
专案
Server?
  多此一舉…
Local
Repository
   独立的目录
仍然是
 噩梦
救星:
似曾相識…
分散式
版本控制
後 subversion 時代
自掃
門前雪
Mercurial 簡介
熱門的
? SVK
   – Based on Subversion

? Mercurial (Hg)
   – Python
   – Mozilla, NetBeans, OpenJDK

? Git
   – C
   – Linux kernel, Ruby / Rails

? Bazzar (bzr)
   – Python
Mercurial
   回归主题
汞 Hg
執行檔就叫 “hg”
第一步
? 建立新专案
 – cd project/
 – hg init
 – [hg add]

? 目錄
 – 工作目錄: project/
 – 檔案庫位置: project/.hg
基本指令
       檔案管理                  檢視修改狀況
? 加入新的檔案                ? 顯示更動狀態
 – hg add [FILE …]       – hg status [FILE …]

? 移除檔案                  ? 查看檔案內容變更
 – hg remove [FILE …]    – hg diff [-r REV] [FILE …]

? 改名                    ? 檢視更新紀錄
 – hg rename OLD NEW     – hg log
                         – hg glog (樹狀圖)
送交修改
? 送交修改
 – hg commit [FILE …]

? 放棄修改 (工作目錄)
 – hg revert [FILE …]

? 還原最近一次修改 (檔案庫)
 – hg rollback
分支 (Branch)
? 建立新的分支
 – hg branch BRANCH_NAME

? 在分支中切換
 – hg update -r BRANCH_NAME
 – 預設分支: “default”

? 列出所有分支
 – hg branches
標記、標籤 (Tag)
? 建立新的標記
 – hg tag TAG_NAME

? 在分支中切換
 – hg update -r TAG_NAME

? 列出分支
 – hg tags
版本概念
多人合作
? 公開檔案庫 (HTTP)
  – hg serve

? 抓取已經存在的檔案庫內容
  – hg clone EXIST_REP project/

? EXIST_REP 格式:
  – http[s]://server/project
  – svn://server/path/to/project
  – [file://]path/to/project
多人合作
? 送出你的 (檔案庫) 修改
 – hg push REMOTE

? 抓取後續的 (檔案庫) 變更
 – hg pull REMOTE

? 更新工作目錄 (與檔案庫同步)
 – hg update [-r REV]

? 合併更動 (到工作目錄)
 – hg merge [-r REV]
分散式架构
檔案庫合併 (前)
檔案庫合併 (中)
檔案庫合併 (後)
工具
? Mercurial Windows Installer
  – http://mercurial.berkwood.com/

? Mercurial Eclipse
  – http://www.vectrace.com/mercurialeclipse/

? TotoriseHg
  – http://www.selenic.com/mercurial/wiki/index.c
    gi/Mercurial
TotoriseHg (1)
TotoriseHg (2)
更多資料
? 官方網站
  – http://www.selenic.com/mercurial/

? Cheat Sheet (小抄)
  – http://www.ivy.fr/mercurial/ref/v1.0/
The End

Any Question?

More Related Content

Mercurial 簡介