美文网首页
Mercurial 使用记录

Mercurial 使用记录

作者: 越前君 | 来源:发表于2022-12-03 17:00 被阅读0次
配图源自 Freepik

Mercurial 也是一个分布式版本控制系统,主要使用 Python 语言编写的。
其使用化学元素「汞」的元素符号「Hg」小写形式 hg 作为命令。

安装 Mercurial

$ brew install mercurial

修改配置文件 ~/.hgrc(若无则新增),主要是修改 usernameemail address

[ui]
username = frankie <frankie@example.com>

Use hg config to configure a user name, email address, editor, and other preferences once per machine.

初始化/克隆仓库

# 初始化
$ hg init

# 克隆远程仓库
$ hg clone <repo-address> [repo-name]

创建分支

# 创建新分支
$ hg branch <branch-name>

# 只有提交一个 commit,新分支才算真正被创建。
# 可提交一个「空」的 commit,比如:hg commit
$ hg commit -m "create '<branch-name>' branch"

# 提交新分支到远程仓库
$ hg push --new-branch

查看/切换分支

# 查看当前分支
$ hg branch

# 查看所有分支
$ hg branches

# 切换分支
$ hg checkout <branch_name>

合并分支、关闭分支

假设有 defaultfeature 分支,将 feature 合并至 default。操作如下:

# 切换至 feature 分支,然后 Close 当前分支
$ hg checkout feature
$ hg commit -m 'xxx' --close-branch
$ hg push

# 切回 default 分支,然后 Merge feature 分支
$ hg checkout default
$ hg merge feature
$ hg commit -m 'Merge xxx'
$ hg push

我们知道,在 Git 里可以通过 git branch -d <branch-name>git push origin --delete <branch-name> 等方式删除本地分支或远程分支。但 Mercurial 里没有删除分支的概念

已 Git 为例,在团队协作中,一个仓库应该至少有 Master BranchDevelop Branch 分支(称为主干分支),另外还应该有 Feature branchesRelease branchesHotfix branches 等常见分支(称为辅助分支)。当辅助分支完成使命后,它们将会被合并到主干分支,然后进行删除。

在 Git 中,有多种方式可以删除分支,那么 Mercurial 里则用「Close」的概率来表示一个分支的结束。如果一个分支该结束了,我们可以提交一个空的 Commit 来关闭它,比如 hg commit -m 'xxx' --close-branch。重点就是 --close-branch 参数。

代码推送

# 切换至某分支
$ hg checkout <branch-name>

# 推送当前分支至远程仓库。若远程仓库中没有的新分支,则需要加上 --new-branch 参数。
$ hg push

代码拉取与更新

# 拉取代码(类似 git fetch)
$ hg pull

# 拉取代码后,更新本地分支
$ hg update

# 以上等价于
$ hg pull -u

查看提交记录

$ hg log
$ hg log -G # or hg log --graph

更多请看这里

其他

  • hg status shows the status of a repository.
  • hg add puts files in the staging area.
  • hg commit saves the staged content as a new commit in the local repository.
  • hg log lists all changes committed to a repository, starting with the most recent.

参考文章

相关文章

网友评论

      本文标题:Mercurial 使用记录

      本文链接:https://www.haomeiwen.com/subject/lzcptrtx.html