战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

对于习惯于SVN的集中式代码管来说,Windows下的TortoiseHg需要一些规范来避免代码合并错误及丢失,下面我具体说下TortoiseHg操作中的一些注意要点.

这里使用的TortoiseHg版本是2.0.4,对应的Mercurial版本是1.8.3,操作环境为局域网

1. 克隆代码

image

局域网获取代码时,代码源(Source)的格式是 http://ip-address:8000

而代码源的机器需要打开WorkBench->Repository->Web Server...

默认情况下,不打开Web Server,别人是无法获取你电脑上的代码库的.

2. 代码changeset的辨别

image 

默认的,Graph里左边一支是自己的版本,右边的一支代表其他人提交过来的changeset. 带圈的代表工作目录基于的版本修改

3. 同步代码

默认情况下,Push是被禁用的,这也能避免别的不必要的版本被推送到自己的代码库.

需要同步代码时点击面板的Synchronize,弹出Remote Repository.

image

在文本框里可以输入http://ip-address:8000之类的地址,点击右边的软盘图标可以保存该地址以便下次再同步

点击Preview可以预览对方代码库的修改,Accept后被获取到本地

 

4. 获取别人代码,合并本地正在修改的代码

image

出现以上提示时,选择Merge来合并本地修改.

不过使用TortoiseHg时, 不建议使用这种方式,比较好的方法应该是在合并前提交自己代码进库,参考下面一条.

5. 获取别人代码, 合并已经提交的本地代码,本地没有挂起修改的代码

  使用这种方法时, Pull过代码后,不Update,而是直接Merge with Local

image

碰到有冲突时,需要解决冲突

image

请使用Tool Resolve, TortoiseHg会使用你从设定中选择的合并工具来进行代码合并,其他功能很类似于SVN. 如果合并不爽,也可以重新进行合并

 

6. 重新恢复冲突解决

如果由于误操作关闭合并对话框,或者是需要提交本地代码而关闭对话框, 可以在Repository->Resolve…重新打开对话框

 

以上为本人的一些心得,欢迎板砖伺候

转载请注明 战魂小筑 及本文地址

posted on 2011-05-25 19:22 战魂小筑 阅读(3664) 评论(0)  编辑 收藏 引用 所属分类: 工具使用及设计

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理