• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Mercurial Quick Tutorial

on

  • 3,382 views

Mercurial Quick Tutorial

Mercurial Quick Tutorial

Statistics

Views

Total Views
3,382
Views on SlideShare
2,359
Embed Views
1,023

Actions

Likes
3
Downloads
0
Comments
0

6 Embeds 1,023

http://blog.splayer.org 912
http://blog.foolbear.com 94
http://translate.googleusercontent.com 5
http://xianguo.com 5
http://cache.baidu.com 5
http://static.slidesharecdn.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mercurial Quick Tutorial Mercurial Quick Tutorial Presentation Transcript

    • Mercurial(Hg)Quick Tutorial
      沈晟 · 射手科技
    • Basic
    • 分布式的版本管理系统
      SVN replacement
      More like Git
      Faster
      Less traffic, storage requirement
      Easier for rapid development, branching, etc.
      Mozilla is using it. Google Code is using it. Python is switching.
      What is Mercurial
    • 什么是分布式
      每个本地的文件树独立的版本管理系统
      每个Repo副本都是平等的
      Do not depend on server anymore
      Commit, Update, Revert
      New concepts to add
      Clone, Pull, Push
      Concept
    • Clone (克隆)
      所有的文件树副本都是平等的版本管理系统
      所以没有Checkout (领取),而只有Clone (克隆)
      Pull (拉)
      从另一个Repo获得最新的修改
      因为我们是平等的,所以叫 Pull (拉)
      Push (推)
      将我的修改推送到另一个Repo
      因为我们是平等的,所以叫 Push (推)
      Clone, Pull, PushMust understand
    • 所有对文件的修改
      都不是立刻发送到其他的Repo服务器
      都只是对本地的Mercurial版本管理系统进行操作
      不需要其他Repo服务器授权
      可以在本地连续进行多次Commit
      因为每个本地的Repo本身就可以进行版本管理
      因为是分布式管理,不再有Revision Number
      每次修改称为 Changeset
      Commit, UpdateOld Keywords
    • Rollback
      可以撤销最近一次的Commit操作
      Bundle
      因为有多个Changeset,单个Patch常常不能满足需要
      Bundle包含一组Changesets, 可以看作高阶的Patch
      Rollback, BundleNew Keywords
    • Practice
      Tortoisehg
    • Clone : 获取一个Repo
      hg clone https://hg.splayer.org/splayer
      任意空目录中右键菜单
      填入 Repo 的地址
      按下 Clone 按钮
      Clone
    • Repo 目录中右键菜单 : Synchronize (同步)
      在 Post Pull 中选择 Update,否则并不会将当前文件树直接更新到最新版,而只是获得最新的修改记录
      Pull
    • 右键菜单 Hg Commit
      Commit
    • 进入 Repository Explorer
      选中目标changeset作为终点
      在另一个起点changeset上点右键
      选择 Bundle from here
      Bundle包含一组修改
      Bundle包含修改说明
      生成 Bundle
    • Commits 之后可以 Push
      Repo 目录中右键菜单 : Synchronize (同步)
      Push
    • Repository Explorer 左键选择当前 changeset
      之后右键点击目标 changeset
      选择 Merge with
      Merge
    • 可以设置远端 Repo 的用户名 密码
      修改远端 Repo 地址和默认的 Post Pull 操作
      Change Repo Setting
    • 在 Repository Setting 中修改 remote repository path
      URL detail
      避免重复提示输入密码
      Set default password
    • Misc.
    • Pull, Push, Update 均可在Repository Explorer中完成
      Commit Log尽量写在一行内。因为第二行会被隐藏。
      第一次Clone总会很慢。因为同时克隆所有历史修改。
      Tips
    • Pull != Update
      Pull 操作仅获得最新的ChangeSets并不会 Update 到最新版本,除非给出命令
      Commit 记录并不总是容易被清理
      Revert 回到之前的版本也会留下 Log
      Rollback 只能回滚一次
      所有 Log 在 Push 时都会保留
      所以虽然 Commit 不再依赖服务端,但仍需慎重
      Common Mistakes
    • Let professionals take care the maintenance
      Manage both public and private repo in the same user management system
      Customize domain so we can reverse proxy it to increase speed
      Therefore, it’s more suite for startup business
      Why BitBucket
    • http://en.wikipedia.org/wiki/Mercurial
      http://tortoisehg.bitbucket.org/download/index.html
      References