【问题标题】:Syncing a fork on github with Plastic SCM将 github 上的 fork 与 Plastic SCM 同步
【发布时间】:2014-04-17 06:14:28
【问题描述】:

一段时间以来,我一直是 Plastic SCM 的忠实粉丝,我在本地将它用于我自己的个人项目。最近我决定为 github 上的一个开源项目做出贡献。由于 Plastic SCM 可以用作 github 客户端,所以我决定就这样使用它。

现在这是我第一次使用 github,所以我遵循了所有教程中描述的经典 github 工作流程:

  • fork 存储库以获取您自己的副本
  • 将 Plastic SCM 存储库与个人 github 存储库同步
  • 在 Plastic SCM 中提交变更集
  • 再次将 Plastic SCM 存储库与 github 同步

到目前为止,一切都很顺利。我贡献了我的代码,上传到了 github,看到所有的变更集和分支都出现在了 github webui 中。

接下来,我向我派生出来的原始仓库提交了一个拉取请求。这就是我的问题开始的地方。拉取请求被接受,一个新的变更集出现在包含我的拉取请求的原始仓库中。看来我所有的中间分支也没有转移到原始仓库。

如上面的网络图所示,原始 repo(紫色)现在不再与我的同步。我开始在另一个分支 (VEH003) 中进行进一步开发,但这个分支似乎与原始存储库完全断开(紫色)。

在我的 Plastic SCM 客户端中,我可以在分支浏览器中看到完全相同的网络图,紫色分支除外。

我读到要使用原始存储库中的变更集更新您的 fork,这必须明确完成,并且在您的本地 git 存储库 (github help) 中完成。现在我不知道这是如何使用 Plastic SCM 完成的。

【问题讨论】:

    标签: github plasticscm


    【解决方案1】:

    如 github 帮助中所述,要将本地 fork 与原始 repo 同步,您需要将上游 master 分支与本地 master 分支合并。

    这里的重点是 Plastic SCM 不会跟踪或同步上游引用(原始 repo 的引用),只是您的 github 的 repo 引用。

    为了能够更新您的分叉并继续使用 Plastic SCM,您应该使用命令行 git 客户端按照您链接的指南执行更新,将本地 git 更改推送到您的 github 存储库,然后将 Plastic SCM 与github 以获取更改。一步一步:

    • 使用 git 客户端克隆你的 github 仓库

      git clone your-fork-url

    • 添加上游仓库。

      git remote add upstream original-repo-url

    • 获取上游引用。

      git fetch upstream

    • 将上游更改合并到您的主分支。

      git checkout master

      git merge upstream/master

    • 将 master 分支推送到您的 github 存储库。

      git push origin master

    • 将 Plastic SCM 与您的 github 存储库同步。

    【讨论】:

      猜你喜欢
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多