使用Mercurial将本地克隆推送到远程存储库

使用Mercurial将本地克隆推送到远程存储库,mercurial,Mercurial,以下是我所做的: 已将远程存储库克隆到本地计算机。从第一个克隆创建了第二个克隆。在第二个克隆中进行了更改。从未接触过第一个克隆中的任何内容 现在,如果我直接从第二个克隆推送到远程repo,会发生什么?远程回购中引入了新的分支机构 也许这是一个愚蠢的问题,但我不能测试它,因为还有其他开发人员在编写代码,我不想弄乱任何东西 谢谢。如果我直接从第二个克隆推送到远程回购,会发生什么?远程回购中引入了一个新分支? 在这种情况下,您要做的是再次克隆中央回购(如果其他程序员进行了更改),将您的更改与这些更改合

以下是我所做的:

已将远程存储库克隆到本地计算机。从第一个克隆创建了第二个克隆。在第二个克隆中进行了更改。从未接触过第一个克隆中的任何内容

现在,如果我直接从第二个克隆推送到远程repo,会发生什么?远程回购中引入了新的分支机构

也许这是一个愚蠢的问题,但我不能测试它,因为还有其他开发人员在编写代码,我不想弄乱任何东西


谢谢。

如果我直接从第二个克隆推送到远程回购,会发生什么?远程回购中引入了一个新分支?
在这种情况下,您要做的是再次克隆中央回购(如果其他程序员进行了更改),将您的更改与这些更改合并,然后将其推回到中央回购。

这将确保您的分支现在再次成为主分支的一部分

大都会

编辑
也许这会更清楚一点

  • 将repo1克隆到您的计算机
  • 在您的机器上复制repo1,以保持原稿的完整性
  • 在计算机上对repo2进行更改
  • 将更改从repo2拉到repo1,合并(如果需要)
  • 再次克隆CR(以防其他程序员进行更改)
  • 将更改从repo1拉到新克隆的repo(如果需要,合并)
  • 将新克隆的回购推回到CR
  • 再次克隆CR并删除所有回购以获取最新副本

  • 如果我直接从第二个克隆推送到远程回购,会发生什么?远程回购中引入了一个新分支?
    在这种情况下,您要做的是再次克隆中央回购(如果其他程序员进行了更改),将您的更改与这些更改合并,然后将其推回到中央回购。

    这将确保您的分支现在再次成为主分支的一部分

    大都会

    编辑
    也许这会更清楚一点

  • 将repo1克隆到您的计算机
  • 在您的机器上复制repo1,以保持原稿的完整性
  • 在计算机上对repo2进行更改
  • 将更改从repo2拉到repo1,合并(如果需要)
  • 再次克隆CR(以防其他程序员进行更改)
  • 将更改从repo1拉到新克隆的repo(如果需要,合并)
  • 将新克隆的回购推回到CR
  • 再次克隆CR并删除所有回购以获取最新副本

  • 谢谢你的回答。根据你的回答,如果我想让别人看到我在分行的所作所为,我只需要从我的本地分行推进到中央回购。所以我的本地克隆对其他人来说是一个远程分支,对吧?你不想先“推送”。如果您在没有将更改与CR合并的情况下先推送,则CR中将有一个挂起分支。这就是为什么您应该首先再次克隆CR,将更改与CR合并,然后将其推送回去。请记住,如果您担心会把事情搞砸,您可以随时将CR克隆到您的系统中,并根据需要使用存储库。有时,额外的克隆步骤是不必要的,但当您有多个程序员使用同一存储库时,最好先克隆它并检查他们是否做了任何更改。如果您的存储库(在更改之前)与CR位于同一更改集上,那么您可以直接推送而不合并。但一定要先检查这个。谢谢你的清晰描述。在步骤5中,我是否必须再次克隆?更新还不够吗?在步骤5中,您可能想要克隆,或者可以从CR中提取……如果您进行了更改,您不想直接推送到CR。但在我看来,在这一步中进行克隆更好,因为这样你就可以随心所欲地使用CR的最新副本。如果您从CR中提取,那么您的回购将自动更新,这可能会导致您在发现不需要更改时必须恢复。克隆技术很便宜,尽可能多地做有助于避免问题。谢谢你的回答。根据你的回答,如果我想让别人看到我在分行的所作所为,我只需要从我的本地分行推进到中央回购。所以我的本地克隆对其他人来说是一个远程分支,对吧?你不想先“推送”。如果您在没有将更改与CR合并的情况下先推送,则CR中将有一个挂起分支。这就是为什么您应该首先再次克隆CR,将更改与CR合并,然后将其推送回去。请记住,如果您担心会把事情搞砸,您可以随时将CR克隆到您的系统中,并根据需要使用存储库。有时,额外的克隆步骤是不必要的,但当您有多个程序员使用同一存储库时,最好先克隆它并检查他们是否做了任何更改。如果您的存储库(在更改之前)与CR位于同一更改集上,那么您可以直接推送而不合并。但一定要先检查这个。谢谢你的清晰描述。在步骤5中,我是否必须再次克隆?更新还不够吗?在步骤5中,您可能想要克隆,或者可以从CR中提取……如果您进行了更改,您不想直接推送到CR。但在我看来,在这一步中进行克隆更好,因为这样你就可以随心所欲地使用CR的最新副本。如果您从CR中提取,那么您的回购将自动更新,这可能会导致您在发现不需要更改时必须恢复。克隆很便宜,尽可能多地进行克隆有助于避免问题。您可以随时设置一个虚拟的“远程”repo和它的克隆,以使用Mercurial命令并查看它们的功能。由于是分布式的,设置起来非常容易。;-)您始终可以设置一个虚拟的“远程”repo及其克隆,以使用Mercurial命令并查看它们的功能。分发