我一直是Plastic SCM的忠实粉丝,现在在我自己的个人项目中使用它。最近我决定在github上为一个开源项目做贡献。由于Plastic SCM可以用作github客户端,所以我决定使用它。
现在这是我第一次使用github,所以我遵循了所有教程中描述的经典github工作流程:
到目前为止一切都很顺利。我贡献了我的代码,将其上传到github并看到所有的变更集和分支出现在github webui中。
接下来,我向我分叉的原始仓库提出拉取请求。这是我的问题开始的地方。拉取请求已被接受,并且原始仓库中出现了一个包含我的拉取请求的新变更集。似乎我所有的中间分支都没有转移到原始仓库。
如上面的网络图所示,原始回购(紫色)现在不再与我的同步。我开始在另一个分支(VEH003)进一步开发,但这个似乎与原始仓库(紫色)完全断开。
在我的Plastic SCM客户端中,我可以在分支资源管理器中看到完全相同的网络图,紫色分支除外。
我读到要使用原始repo中的更改集更新fork,这必须在显式上完成,并在本地git存储库(github help)中。现在我不知道如何使用Plastic SCM完成这项工作。
答案 0 :(得分:2)
要将本地分支与原始仓库同步,如github帮助中所述,您需要将上游主分支与本地主分支合并。
这里的要点是Plastic SCM不会跟踪或同步上游引用(原始repo的引用),只是你的github的repo引用。
为了能够更新你的fork,并继续使用Plastic SCM,你应该使用命令行git client按照你链接的指南执行更新,将本地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
将塑料SCM与您的github仓库同步。