如何正确地从主仓库中提取,更新本地文件,然后将更改推送到自己的仓库?

时间:2012-03-27 22:58:22

标签: mercurial

是的,我用谷歌搜索,我找不到这个问题的答案。

首先,我和我的团队是hb,bitbucket等的新手。我们的第一个任务是在read.txt上添加我们的名字,每个成员都在他们自己的机器上完成。现在我们所有人都添加了名称,主要的回购已经更新了我们所有的名字。

我自己的回购是来自主回购的分叉。它只有一些名字,因为我是第一个添加名字的人。当我从主回购中提取时,它要求我使用“hg update”,这会更新我的所有名称的本地文件。

这是我的问题:

我的本​​地文件与主要仓库相同,但我的分叉仓库没有。我试图将更新后的更改推送到我的仓库,但它说“找不到更改”。

从主回购中提取更改然后将其推送到我自己的仓库的正确方法是什么?

2 个答案:

答案 0 :(得分:9)

当您提取更改时,它会将更改提取到您的本地仓库。 hg update更新工作副本(您编辑的文件,而非回购邮件,自您提取后,更改已在您的回购中)。

因此,一旦您撤消更改(到您当地的仓库)并更新了您的工作副本(来自您当地的仓库),就没有其他事情要做了。

您通常不需要将更改推送到本地仓库(除了从其他仓库推送)。你在回购之间推。

如果您在工作副本中编辑某些内容,则可以提交。

一般来说你:

  1. 使用hg pull ...
  2. 进行更改
  3. 使用hg update
  4. 更新本地存储库
  5. 更改工作副本中的内容
  6. 使用hg commit ...
  7. 提交对本地存储库的更改
  8. 使用hg push ...
  9. 将更改推送到其他一些仓库

    另请注意,推拉是对称操作。

答案 1 :(得分:3)

跟进灵魂检查

  • 您的推拉操作是回购方
  • 您可以从本地 repo
  • 更新工作副本(您可以看到的文件)
  • 您将自己的更改提交到 local repo

您可以使用hg fetchhg pull -u代替普通hg pull

,更快地在工作副本中获取远程数据
相关问题