Lx4 coffee mercurial-usage

1,221 views
1,107 views

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,221
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×