一些Mercurial基础知识

时间:2012-08-30 08:55:44

标签: mercurial branch

我很难进入Mercurial,甚至看过几个指南/教程。 (一看到命令行参数,我就会感到恐慌)。如果有人可以帮我解决这些非常基本的问题,我将非常感激:/

我想做什么: - 获取现有项目的副本。 (我现在将此副本称为“我的”项目,将现有项目称为“主要”项目)。 - 然后,更改现在的项目。我不会上传到主项目,但是,如果主项目有变化,我想将这些集成到我的项目中。 - 我希望能够从几台计算机上处​​理我的项目,所以它不能只是本地的。 - 我想这就是这张照片:我想在不同的计算机上使用'my'code(绿色版)做各种各样的狗屎,同时仍然可以访问红色版本。最好是没有其他人可以访问我的绿色版本。

Branch example

我认为我应该做的事情: - 从现有项目克隆。我应该可以将以后的更新集成到我的分支中,对吗? - 以某种方式将克隆保存在某个地方仍然知道它与主项目有关...

TL; DR:我想我的问题是:我如何建立一个仍然可以接收更新的在线分支?

1 个答案:

答案 0 :(得分:2)

在不同的克隆中工作

首先创建要素克隆并进行一些更改

$ hg clone project feature1
$ cd feature1
$ hg update 3
$ echo 'print("Hello feature1")' > hello.py
$ hg commit -m "Greet feature1"

现在检查从feature1拉出时会发生什么,就像在提交之前可以使用diff一样。拉动的相应命令是传入

$ cd ../project
$ hg incoming ../feature1

注意: 如果你想看到差异,你可以像使用hg log --patch那样使用hg incoming --patch来处理存储库中的更改。

如果您喜欢这些更改,请将它们拉入项目

$ hg pull ../feature1

编辑:

在Mercurial中,每个存储库都是自包含的。克隆存储库时,新存储库将成为克隆时现有存储库的精确副本,但任何一个中的后续更改都不会显示在另一个存储库中,除非您通过拉动或推送显式传输它们。

来自mercurial guide