gpt4 book ai didi

mercurial - 如何备份本地 Mercurial 存储库并使用 rebase?

转载 作者:行者123 更新时间:2023-12-04 12:14:07 25 4
gpt4 key购买 nike

我的公司正在从 Subversion 迁移到 Mercurial。原因之一是我们希望能够更独立地工作。

我们期待使用 rebase 作为我们从主存储库更新的主要方式,至少在开始时,将历史记录在一行中,使从 Subversion 的转换更容易。

现在,如果我们需要独立工作,我们有两个选择:在 Subversion 中创建一个分支,然后在那里提交(又名 merge hell ),或者根本不提交。使用 Mercurial,我们希望能够继续在本地提交,并经常重新设置基准,从而获得独立性,同时免于创建命名分支的管理成本。

在备份出现之前,这一切听起来都很酷。使用 Subversion 很明显,如果有人不提交,他们的工作可能会丢失。但是不提交很快变得不方便(没有历史记录,没有日志消息等),所以人们仍然会一次又一次地提交。

使用 Mercurial,将有可能继续提交和 rebase ,而无需延长时间,从而将更多工作置于风险之中。那么问题来了:如何备份开发者机器上的东西?

  • 一种解决方案是使用一些外部备份软件,但这听起来不是一个好主意。
  • 我们也可以一直推送到主 repo(甚至可能是自动的?),但这会导致无法使用 rebase,并且会导致 main 中有很多悬空的头。
  • 我们可以推送到一个备份仓库,并尝试在主仓库中只有一个头。这听起来很复杂。

  • 有没有其他方法可以做到这一点?我想找到一个解决方案,让我们的开发人员在一开始就使用他们的大部分 Subversion 知识。

    最佳答案

    只是把这个扔出去:我认为你犯了一个错误。线性历史没什么大不了的,拉/merge 是更正常的变化无常的工作流程。拥抱非线性历史,并为特殊场合留下 rebase。

    您说“使用 Mercurial,我们希望能够在本地继续提交,并经常重新设置基准,从而获得独立性,同时免于创建命名分支的管理成本。”但在 mercurial 中,我们为此使用了未命名分支,所以有没有管理费用。

    http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/#branching-anonymously有关如何自动创建未命名分支的解释,它将以零麻烦的方式准确地为您提供所需的内容。

    我知道这听起来好得令人难以置信,但您的家人可以 hg pullhg mergehg push当他们完成并且不需要任何人考虑分支名称,或者谁拥有什么克隆或任何东西时,您将拥有一个协调中心,并且工作不连贯。

    关于mercurial - 如何备份本地 Mercurial 存储库并使用 rebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4017879/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com