MyException - 我的异常网
当前位置:我的异常网» 研发管理 » 分布式版本控制工具 Mercurial 使用教程 (hg 入门简

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

www.MyException.Cn  网友分享于:2018-03-30  浏览: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 代码提交了一次,还原当次提交,只能还原一次。

文章评论

看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
10个调试和排错的小建议
10个调试和排错的小建议
我是如何打败拖延症的
我是如何打败拖延症的
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
如何成为一名黑客
如何成为一名黑客
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
为什么程序员都是夜猫子
为什么程序员都是夜猫子
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员和编码员之间的区别
程序员和编码员之间的区别
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
总结2014中国互联网十大段子
总结2014中国互联网十大段子
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
代码女神横空出世
代码女神横空出世
老程序员的下场
老程序员的下场
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员都该阅读的书
程序员都该阅读的书
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员必看的十大电影
程序员必看的十大电影
旅行,写作,编程
旅行,写作,编程
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
我的丈夫是个程序员
我的丈夫是个程序员
鲜为人知的编程真相
鲜为人知的编程真相
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员应该关注的一些事儿
程序员应该关注的一些事儿
那些争议最大的编程观点
那些争议最大的编程观点
Java程序员必看电影
Java程序员必看电影
一个程序员的时间管理
一个程序员的时间管理
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
 程序员的样子
程序员的样子
漫画:程序员的工作
漫画:程序员的工作
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有