`
goalietang
  • 浏览: 26310 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

分布式版本控制工具 Mercurial 使用教程 (hg 入门简单命令)

阅读更多

1. 安装版本控制Mercurial
直接下载使用Mercurial安装包进行傻瓜式安装,无需解释一用就灵
*改版本控制工具的命令都是以hg开头
2. 检查是否安装好。
   a. 使用命令  hg version 如果安装成功会显示类似下面的版本信息
   Mercurial Distributed SCM (version 0.7)
Copyright (C) 2005 Matt Mackall <mpm@selenic.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
b. 直接输入命令 hg,可显示基本常用hg命令列表

3. 需要了解hg有那些命令
a. 直接输入命令 hg 显示基本列表。
b. 输入 hg help -v 显示全部命令 (包括名字的参数)

4. 克隆代码仓库
a. 克隆远程仓库到本地并创建my-hello的文件夹在存放
hg clone http://www.selenic.com/repo/hello my-hello
(注意,my-hello文件夹会创建在当前文件夹下面,克隆时应注意当前文件路径是否正确)
如果所有都没问题,clone 命令输出:

requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files

b. 克隆当前代码仓库 my-hello文件到别处 my-hello-test
hg clone my-hello my-hello-test
(注意,需要退到my-hello到上一级目录执行。
在 Mercurial 中, 每一个仓库是自包含的。当你克隆一个仓库后,新仓库变成克隆时它的精确复本,
但是后续的两个仓库当中任一方改变都不会在对方显示,除非你用 Pull 或 Push 明确地传递改变。 )

5. pull命令
这个命令所有在别的仓库中有而在本仓库中没没有的 ChangeSet 从别的仓库 Pull 到本仓库。
hg pull
(注意路径,该命令会检查所有当前路径的远程文件版本看是否有当前仓库没有的文件
在 Pull 后,缺省情况下 Mercurial 不更新工作目录。这意味着虽然 Repository 现在有变更集,
但在工作目录中的 hello.c 文件仍然是Pull 之前老的内容。)

6. update命令
我们可以用以下Mercurial的提醒来 Update 这个文件 (也包括所有其它 Pull 时改变的文件)。
hg update

7. commit命令
创建一个变更集的动作称为提交它。我们用commit命令来执行提交。
hg commit提交修改到当前branch。需要加入注释才能完成提交。
hg commit -m ‘comments’,直接将‘comments’作为当前提交的注释。

8. merger命令
当我们运行hg update的时候常常遇到代码提交冲突,
也许是我们pull过来的代码和当前我commit的代码发生了冲突
merge命令是将当前版本冲突代码进行merge
hg merge 将冲突merge到branch,
hg update -C 放弃当前更改提交。
(注:如果你电脑安装了beyond compare软件的话,那么就会自动被调用,用来合并修改。)
如果我们没有安装图形合并程序, 我们就会开启文本编辑器来访问需要合并的文件。
用手工来做这些事情是非常容易出错并且繁琐的。
最好是退出编辑器并用hg rollback指令来清除["Pull"]带来的改变,然后安装合并程序,再做一次。

9. 其他命令
a. hg st 或者 hg status: 查看当前未提交的更新。如果没有则不显示
b. hg add <file> 将未加入索引的文件加入索引
c. hg add . 将当前目录下所有文件加入索引
d. hg ci -m 'comments' 另外一种提交方式
e. hg push -b <branch#> 将代码推送到相应到branch上
f. hg branch <branch#> 不加后面到参数就是显示当前到branch,加了表示创建一个branch
g. hg branches 查看所有分支
h. hg udpate <new branch> 切换分支到new branch
i. hg merge <branch#> 合并分支,如果不加后面参数,则是合并多人提交所有修改到当前分支
j. hg revert <filename> 在没有提交前对修改进行回滚。
k. hg revert -a 在没有提交前对当次所有修改进行回滚。
l. hg rollback 代码提交了一次,还原当次提交,只能还原一次。
0
0
分享到:
评论

相关推荐

    Mercurial与TortoiseHg使用入门教程

    Mercurial,常简称为Hg,是一个分布式版本控制系统,它允许开发者在本地存储完整的代码历史,无需中央服务器。TortoiseHg则是一个图形用户界面(GUI)工具,为Mercurial提供了友好的Windows集成。 为何要使用分布式...

    分布式版本控制系统入门.pdf

    分布式版本控制系统(DVCS,Distributed Version Control System)是一种先进的软件工具,用于管理和跟踪文件的变更历史。与传统的集中式版本控制系统(CVCS)不同,DVCS的核心特性是每个开发者的本地工作副本都是一...

    Mercurial的简单入门

    ### Mercurial的简单入门:理解分布式版本控制 Mercurial是一种分布式的版本控制系统,它允许用户在本地计算机上管理项目历史,而无需依赖于中央服务器。这为开发者提供了灵活性和速度,尤其是在网络不稳定或不可用...

    hg版本控制

    - 版本控制系统经历了从最初的集中式版本控制系统(如CVS)到分布式版本控制系统(如Git、Mercurial)的转变。 - 随着互联网技术的发展以及软件工程实践的进步,分布式版本控制系统逐渐成为主流。 #### 二、...

    Git 快速入门和最佳实践

    集中式版本控制系统的代表有CVS和SVN,而Git和Mercurial(Hg)属于分布式版本控制系统。分布式版本控制系统的特点是简单易用、功能强大,且具有良好的操作系统的支持。 Git的官方网址是***,其中还推荐了两本学习...

    ns3入门资料非常不错可以参考

    Mercurial是一个分布式版本控制系统,用于管理NS3项目的源代码。通过Mercurial可以方便地下载、更新NS3的源码,并且支持离线操作。 ##### Waf Waf是一个用于自动化构建过程的工具,它可以替代传统的makefile文件来...

    SourceTree for Windows Git,Git客户端可视化操作工具

    SourceTree是一款由Atlassian公司开发的免费、强大的Git和Hg(Mercurial)版本控制系统客户端,专为Windows用户设计。它提供了直观易用的图形界面,使得复杂的Git命令通过简单的鼠标点击就能完成,极大地简化了Git的...

    vitess golang

    9. `.hg`: 这是Mercurial版本控制的根目录,表明项目使用Mercurial进行版本管理。 在实际使用Vitess Golang库时,开发者需要了解如何配置和操作MySQL集群,熟悉Vitess的分片技术,以及如何利用Go语言的特性优化...

Global site tag (gtag.js) - Google Analytics