突击Mercurial SCM(HG)2---当前状态

当我们clone下来代码后,默认会在某个default分支上。

hg clone your-src-url

代码库克隆下来后,查看一下当前代码库的状态

14:[email protected]:Demo$ hg summary
parent: 2014:xxxxxxxxxxxxxxx
This is a description.
branch: default
commit: 3 unknown (clean)
update: (current)

上述我们可以看到,最新的版本(changeset)是2014,当前的分支是default,已经update到最新。

或者我们也可以直接查看当前的branch:

14:[email protected]:Demo$ hg branch
default

还可以查看parent的详细信息:

14:[email protected]:Demo$ hg parents
changeset:   2014:xxxxxxxxxxxxxxx
user:        Linc Yang <[email protected]>
date:        Mon Nov 14 15:59:36 2014 +0800
summary:     This is a description.

再看看库中有几个分支:

14:[email protected]:Demo$ hg branches
cool_version               2089:xxxxxxxxxx
default                    2014:xxxxxxxxxx
little_thing               1999:xxxxxxxxxx

还有另两个分支,并且我们当前的default也不是最新的。我们变换到cool_version上去看看。

14:[email protected]:Demo$ hg update cool_version
38 files updated, 10 files merged, 7 files removed, 0 files unresolved
14:[email protected]:Demo$ hg branch
cool_version
14:[email protected]:Demo$ hg sum
parent: 2089:xxxxxxxxxx tip
 This is my test version.
branch: cool_version
commit: 3 unknown (clean)
update: (current)

另外:
1. hg branch + “要创建的分支名”    创建新分支(这里必须进行一次hg commit操作才能真正创建分支)
hg branch newbranch

2. hg push --new-branch ————把在本地创建的branch 上传到远端
hg push --newbranch
3.hg update -r + ”版本号“ ———— 切到指定的版本

时间: 2024-10-13 10:46:00

突击Mercurial SCM(HG)2---当前状态的相关文章

突击Mercurial SCM(HG)

这个叫水银的源码管理工具虽然默默无闻,但还是得到了很多团队的使用.为了迎合某些团队的需要,我们也要用它来管理我们的代码. 今天的任务是先突击学习,磨刀不误砍柴工.对工具的掌握越快,工作的效率就会越高. 1.安装 首先从官网下载最新的版本,我这次做个实验,下载了3.2-rc. 解压到你指定的目录下: [[email protected] mercurial]$ ls mercurial-3.2-rc.tar.gz [[email protected] mercurial]$ tar xzvf me

突击Mercurial SCM(HG)5---Ubuntu下apache+mod_wsgi搭建hg server

在<Publishing Mercurial Repositories>这篇文章中介绍了很多种将我们自己的hg代码库发布/公开的办法.其中最轻量型的办法是使用hg自带的web server发布,只需要在代码库目录下执行命令hg serve就搞定.但是这只是一个临时的方案,如果想要更健壮更安全,官网还是建议使用hgweb脚本+Web server(apache,IIS等)的方式. 查看资料后,我权衡利弊,准备以<Serving Mercurial repositories with Apa

突击Mercurial SCM(HG)9---hgignore

项目中有些文件是不想或不应该被托管的,比如Android项目中bin下和gen的文件. .hgignore文件就是为此而生,如果你的项目路径下无此文件,说明此时还没有人来创建它,那就由你去手动添加吧. 语法 .hgignore的内容不是随便写的,它遵循一定的语法格式.目前有两种语法格式: regexp    Regular expression, Python/Perl syntax. 正则表达式,python/perl语法glob    Shell-style glob.  shell风格的通

突击Mercurial SCM(HG)6---图形化工具TortoiseHg

不得不说,在看提交记录时还是看图形化界面来的方便.用git有gitk,那么hg有什么呢?那就是今天的主题thg. Tortoise系列在源代码管理圈子中小有名气,TortoiseHg也是一样,开源,易用. 安装在Windows下自不必说,在Ubuntu上有时还是让人困惑的. 官方不推荐直接apt-get install,因为Ubuntu自带的软件源版本会很低,推荐两种方式安装: 一.ppa PPA,表示Personal Package Archives,也就是个人软件包集.有些软件进不去Ubun

突击Mercurial SCM(HG)4---Merge

Scenario:当自己修改完代码,准备commit之前做了一次pull+update,做了些解决冲突工作,然后验证代码是否正常工作.确认一切正常后,执行hg commit,然后执行hg push.但是网络出现问题,push失败.等到网络恢复正常后,发现自己的版本已经不是最新版了,push继续失败.提示:abort: push creates new remote head 8f1da767f592!hint: you should pull and merge or use push -f t

突击Mercurial SCM(HG)13---回退到指定版本

团队开发中,版本回退是老生常谈了.通常版本回退的原因是代码中出现重大错误了,要回退到上一个可运行的版本. 这是一个很危险的动作,而我们使用revert命令来做这个危险动作. $ hg revert --help hg revert [OPTION]... [-r REV] [NAME]... restore files to their checkout state Note: To check out earlier revisions, you should use "hg update R

CVS,GIT,Mercurial和SVN比较

特征 CVS Git Mercurial Subversion 是否原子提交 CVS: 没有. CVS提交不是原子的 Git: 是的. 提交都是原子的 Mercurial: 是的 Subversion: 提交都是原子的 文件和目录是否可以移动或重命名 CVS: 不是. 重命名不支持. 如果手动进行, 可能会损坏历史记录 Git: 支持重命名, 这是很实用的目的. git甚至能检测到重命名之后文件的改变. 尽管如此, 基于特殊的存储结构, 重命名不会被显示的记录, git能够推导出来(在实际使用中

wstool ros空间管理工具

查看ROS的默认空间: 使用以下命令可以查看ROS默认使用的工作空间: $ echo $ROS_PACKAGE_PATH 1.wstool 用于从多个版本控制系统维护项目工作空间的命令行工具.wstool是一个操作ROS工作区的命令. wstool取代了它的前身rosws.wstool提供了基于单个工作空间定义文件(.rosinstall)管理多个本地SCM存储库(支持git,mercurial,subversion,bazaar)的命令.wstool不是重写.它旨在重用大部分的rosws工具代

Mac OS X 安装Golang

1.确保Mac OS X 安装了Git,Hg,在Mac OS X 10.8+下面安装Xcode CommandLine Tools就可以了,10.9以上安装Xcode就包含了Git工具,hg请安装SourceTree,这个Git GUI工具包含了Mercurial工具 2.下载安装go1.3.1.darwin-amd64-osx10.8.pkg 3.安装Sublime Text,一次安装插件,GoSublime,配置GoSublime-Settings-User文件,切记不要改动任何Defaul