5

我已经制作了一些 codeplex 项目的分支。完成了一些额外的代码等,甚至将我的自定义代码拉入了源代码控制仓库。

在我自己开发叉子的那几周和几个月里,他们的主干已经更新了。

如何将我的代码与中继的代码同步?

(我想将我的代码与主干同步的主要原因是他们升级到了 vs2010,而我仍在使用 vs2008 项目版本:()。

4

1 回答 1

9

我刚刚遇到了同样的问题并最终来到了这里。虽然上面的评论导致了正确的答案,但对于想要为开源项目做出贡献的 Mercurial 新手来说,它们可能不会削减它。

普通的hg pull只会将任何更改从您的 fork 拉到您的本地克隆存储库,在这种情况下没有帮助。有一个可选参数[SOURCE]允许您改为从后备箱中拉出。

以下是完成这项工作所需的 Mercurial 命令行命令(将“someprojectname”相应地替换为您所需的 CodePlex 项目,或者对于类似系统,将整个 URL 替换为您的 fork 主干的 URL [与您的 fork 的 URL]):

  1. [可选] 查看主干中有哪些变更集,但本地存储库中没有:hg incoming https://hg01.codeplex.com/someprojectname
  2. 将新的变更集拉入您的存储库:hg pull https://hg01.codeplex.com/someprojectname
  3. 将这些更改合并到您自己的代码中(相应地解决冲突):hg merge
  4. 将结果提交到本地存储库:hg commit -m "Some message about merging changes from trunk."
  5. 将更新版本的代码从本地存储库推送到 CodePlex 上的分支:hg push
于 2011-12-01T21:50:41.413 回答