Your SlideShare is downloading. ×
0
水银( Mercurial )的使用
刘鑫
定制个人开发环境系列
版本管理系统与我
● 版本管理系统会带来什么?
● 如何运用版本管理系统使我们获利?
● 如何学习版本管理系统?
从分布式版本管理系统开始
● 从自我做起,熟悉版本管理系统
● 学会管理自己的工作
– 管理变更
– 查看历史与回溯
– 工作分支
● 学习团队合作
– 代码提交与更新
– 局部代码交换
– 离线工作与集中管理
我是谁
● 告诉 Mercurial 你是谁:
– 直接使用用户名 @ 域
– 定义 HGUSER 变量
– 定义 EMAIL 变量
– 编辑 .hgrc 文件:
[ui]
username = March Liu <march.liu@gma...
建立仓库
● 每个人心中都有一个哈姆雷特
– 每个工作目录都是一个仓库
– 每个仓库都有自己的历史
● 为每个项目建立自己的仓库
– > hg init
● 从别人或服务器获得代码
– > hg clone ${sourcepath}
日常工作--查看仓库
● 查看文件状态
– > hg status
● 查看变更路径
– > hg parents
● 查看历史记录
– > hg log
● 查看当前工作状态
– > hg tip
● 查看标记/分支
– > hg tags
–
设定提交
● 文件修改会被自动发现
● 添加新文件
– > hg add
● 删除
– > hg rm
● 复制
– > hg copy
● 目前的改名只是 copy&remove
– > hg rename
● 添加/删除
提交变更
● 提交变更
– > hg commit [-m “...”][-u “...”]
● 我不想……
– > hg rollback
– Rollback 撤消的是设定为待提交的内容
● 一切都是幻觉……
– > hg revert [...
分支( branch )
● 创建分支
– > hg branch xxx
● 查看当前分支
– > hg branch
● 查看所有分支
– > hg branches
标记 tag
● 创建分支
– > hg tag xxx
● 查看当前分支
– > hg tag
● 查看所有分支
– > hg tags
变更历史
● 每次提交产生一个变更集
– Changeset
– 16 进制标识
● 每次提交拥有一个版本号
– 修订号
– 整数
● 变更历史可能产生多线
– 多人工作合并
– 分支切换
U 盘交流
● 创建新的复本到同事的 U 盘
– > hg clone <from your repo>
● 把变更推过去
– > hg push <to where>
● 获取别人的改动
– > hg pull <from where>
● ...
电子邮件
● 打包自己的变更集
– > hg bundle [-a] [--base] xxx
● 合并收到的仓库包
– > hg unbundle xxx
● --base 可以指定历史节点
● 或许你需要
– > hg merge
– > ...
架设 hg 服务器
● 可以用 hg serve 架设一个简单的 pull
服务器
● SSH
● 内置 hgweb.cgi
● 远程 pull : incoming
● 远程 push : outgoing
常用的知识
● -I 用来包含匹配的文件
● -X 用来排除匹配的文件
● -f 强制执行
● --logfile(-l) 从指定文件中读出 mess
age
● -u 指定用户
● --date(-d) 记录时间
● Mercurial 是基...
模式匹配
● “ syntax:patternbody”
– 支持 glob 语法
– Python 内置正则库 re
– 默认为通配符
水下冰山
● 集成 kdiff3
● 丰富的 hook
● 成功的大型项目实践
– OpenJDK
– Mozilla
– ...
● Mercurial Queues
– 管理补丁发布
● 大量的成功体验有待挖掘……
方便的教材
● 包括汉化版的一站式指导图
– Mercurial-QuickStart-v1.0-300dpi
– Mercurial-Usage-v1.0-300dpi
● 全面的 free book
– Distributed revisi...
Upcoming SlideShare
Loading in...5
×

Lx4 coffee mercurial-usage

1,058

Published on

2008刘鑫作的内部 Hg 分享了在

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,058
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Lx4 coffee mercurial-usage"

  1. 1. 水银( Mercurial )的使用 刘鑫 定制个人开发环境系列
  2. 2. 版本管理系统与我 ● 版本管理系统会带来什么? ● 如何运用版本管理系统使我们获利? ● 如何学习版本管理系统?
  3. 3. 从分布式版本管理系统开始 ● 从自我做起,熟悉版本管理系统 ● 学会管理自己的工作 – 管理变更 – 查看历史与回溯 – 工作分支 ● 学习团队合作 – 代码提交与更新 – 局部代码交换 – 离线工作与集中管理
  4. 4. 我是谁 ● 告诉 Mercurial 你是谁: – 直接使用用户名 @ 域 – 定义 HGUSER 变量 – 定义 EMAIL 变量 – 编辑 .hgrc 文件: [ui] username = March Liu <march.liu@gmail.com>
  5. 5. 建立仓库 ● 每个人心中都有一个哈姆雷特 – 每个工作目录都是一个仓库 – 每个仓库都有自己的历史 ● 为每个项目建立自己的仓库 – > hg init ● 从别人或服务器获得代码 – > hg clone ${sourcepath}
  6. 6. 日常工作--查看仓库 ● 查看文件状态 – > hg status ● 查看变更路径 – > hg parents ● 查看历史记录 – > hg log ● 查看当前工作状态 – > hg tip ● 查看标记/分支 – > hg tags –
  7. 7. 设定提交 ● 文件修改会被自动发现 ● 添加新文件 – > hg add ● 删除 – > hg rm ● 复制 – > hg copy ● 目前的改名只是 copy&remove – > hg rename ● 添加/删除
  8. 8. 提交变更 ● 提交变更 – > hg commit [-m “...”][-u “...”] ● 我不想…… – > hg rollback – Rollback 撤消的是设定为待提交的内容 ● 一切都是幻觉…… – > hg revert [-r x] – Revert 操作使工作区回复到指定状态 ● 指定更新 – > hg update [-r x]
  9. 9. 分支( branch ) ● 创建分支 – > hg branch xxx ● 查看当前分支 – > hg branch ● 查看所有分支 – > hg branches
  10. 10. 标记 tag ● 创建分支 – > hg tag xxx ● 查看当前分支 – > hg tag ● 查看所有分支 – > hg tags
  11. 11. 变更历史 ● 每次提交产生一个变更集 – Changeset – 16 进制标识 ● 每次提交拥有一个版本号 – 修订号 – 整数 ● 变更历史可能产生多线 – 多人工作合并 – 分支切换
  12. 12. U 盘交流 ● 创建新的复本到同事的 U 盘 – > hg clone <from your repo> ● 把变更推过去 – > hg push <to where> ● 获取别人的改动 – > hg pull <from where> ● 或许你需要 hg update [-C] ● 或许你需要 hg merge
  13. 13. 电子邮件 ● 打包自己的变更集 – > hg bundle [-a] [--base] xxx ● 合并收到的仓库包 – > hg unbundle xxx ● --base 可以指定历史节点 ● 或许你需要 – > hg merge – > hg update [-C] ● 注意 hg 给你的提示
  14. 14. 架设 hg 服务器 ● 可以用 hg serve 架设一个简单的 pull 服务器 ● SSH ● 内置 hgweb.cgi ● 远程 pull : incoming ● 远程 push : outgoing
  15. 15. 常用的知识 ● -I 用来包含匹配的文件 ● -X 用来排除匹配的文件 ● -f 强制执行 ● --logfile(-l) 从指定文件中读出 mess age ● -u 指定用户 ● --date(-d) 记录时间 ● Mercurial 是基于文件的
  16. 16. 模式匹配 ● “ syntax:patternbody” – 支持 glob 语法 – Python 内置正则库 re – 默认为通配符
  17. 17. 水下冰山 ● 集成 kdiff3 ● 丰富的 hook ● 成功的大型项目实践 – OpenJDK – Mozilla – ... ● Mercurial Queues – 管理补丁发布 ● 大量的成功体验有待挖掘……
  18. 18. 方便的教材 ● 包括汉化版的一站式指导图 – Mercurial-QuickStart-v1.0-300dpi – Mercurial-Usage-v1.0-300dpi ● 全面的 free book – Distributed revision control with Me rcurial by Bryan O’Sullivan
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×