当前位置:  开发笔记 > 编程语言 > 正文

mercurial中的最佳实践:分支与克隆,以及部分合并?

如何解决《mercurial中的最佳实践:分支与克隆,以及部分合并?》经验,为你挑选了2个好方法。

...所以我已经习惯了Mercurial(add,)的简单内容commit,diff并发现了.hgignore文件(是的!)并且已经掌握了在分支(branch,update -C)之间创建和切换的问题.

我有两个主要问题:

    如果我在分支"Branch1"并且我想从分支"Branch2"中提取一些但不是所有的更改,我该怎么做?特别是如果所有更改都在一个子目录中.(我想我可以克隆整个存储库,然后使用像Beyond Compare这样的目录合并工具来选择我的编辑.看起来应该有一种方法可以将一个文件或一个目录中的更改隔离开来.)

    在分支之间切换update -C似乎很容易,我想知道为什么我会打扰使用clone.我只能想到几个原因(见下文) - 还有其他一些我缺席的原因吗?

    一个.如果我需要同时对两个版本/分支进行操作(例如,执行性能度量差异)

    湾 用于备份(clone到物理上不同位置的网络驱动器的存储库)

    C.像我上面提到的那样进行选择合并.

Draemon.. 50

我使用克隆:

短命的地方分支机构

克隆到不同的开发机器和服务器

以前的使用对我来说非常罕见 - 主要是当我尝试一个我可能想完全放弃的想法时.如果我想合并,我将要合并所有更改.这种分支主要用于跟踪不同开发者的分支,因此它们不会相互干扰.只是澄清最后一点:

我一直在努力改变我的变化,并将我的伙伴们的变化拉出来,他们拉我的.

当我方便的时候,我会将所有这些分支中的所有变化合并到我的中.

对于功能分支或更长寿的分支,我使用命名分支,这些分支在存储库之间更舒适地共享而不进行合并.当您想要有选择地合并时,它"感觉"更好.

基本上我这样看待它:

命名分支用于开发应用程序的不同分支或版本

克隆用于管理对相同版本的应用程序的不同贡献.

这是我的看法,但实际上这是政策问题.



1> Draemon..:

我使用克隆:

短命的地方分支机构

克隆到不同的开发机器和服务器

以前的使用对我来说非常罕见 - 主要是当我尝试一个我可能想完全放弃的想法时.如果我想合并,我将要合并所有更改.这种分支主要用于跟踪不同开发者的分支,因此它们不会相互干扰.只是澄清最后一点:

我一直在努力改变我的变化,并将我的伙伴们的变化拉出来,他们拉我的.

当我方便的时候,我会将所有这些分支中的所有变化合并到我的中.

对于功能分支或更长寿的分支,我使用命名分支,这些分支在存储库之间更舒适地共享而不进行合并.当您想要有选择地合并时,它"感觉"更好.

基本上我这样看待它:

命名分支用于开发应用程序的不同分支或版本

克隆用于管理对相同版本的应用程序的不同贡献.

这是我的看法,但实际上这是政策问题.


为什么当它明显忽略了问题的重点时,这种情况曾被多次接受和赞成?它没有回答1并且它也没有回答2,而史蒂夫的回答实际上是正确的.
@mare因为OP发现它很有用.有时在一个问题上有一个以上的观点,而stackoverflow旨在让大多数解决OP问题的答案获得信用(通过被接受),并且对社区最有用的答案获得信用(通过upvotes).一个有用的答案不是*总是*最直接的答案,只要它解决问题背后的根本原因.在这种情况下,人们在现实生活中问过我类似的问题,我在这里分享的信息是他们认为最有帮助的,所以我认为这也可能对你有所帮助.
@mare,我投票了,因为我通过Google登陆了这个页面,它解决了我的问题.

2> Steve Losh..:

对于问题1,您需要更清楚地了解"变化"的含义.你指的是以下哪些:

    "我希望将不同分支中的一些变更集但不是全部变为这一变量集."

    "我想将不同分支中某些文件的最新版本(但不是全部)拉入此版本."

如果你的意思是第1项,你应该研究移植扩展,特别是樱桃挑选几个变更集的想法.

如果您的意思是第2项,您将执行以下操作:

更新要将更改拉入的分支.

用于hg revert -r --include 将这些文件的内容更改为它们在另一个分支上的方式.

用于hg commit将这些更改作为新的更改集提交到分支.

至于问题2,我从不使用存储库克隆来自己分支,所以我不知道.我使用命名分支或匿名分支(有时使用书签).

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有