Github分配新版本并将其与之合并

时间:2012-11-20 14:47:28

标签: git github

关于标准git / github工作流程的问题我认为。但我真的非常了解所有这些。

  1. 一个月前我曾经分道一些项目。
  2. 我做了我的分支 我需要的改变
  3. 以来原创项目已更改
  4. 我想分叉新版本并添加我对以前版本所做的更改
  5. 我该怎么做?我遇到的问题:

    1)我无法分叉新版本,当我按下fork github将我重定向到我当前的新版本的分支时,我是否必须删除它以获得新版本?

    2)是否有可能以某种方式自动应用我对以前版本所做的更改?

1 个答案:

答案 0 :(得分:4)

我认为你只需要上游。

$ git remote add upstream git@github.com:original-user/project-name.git
$ git checkout master
$ git checkout -b merge-upstream
$ git fetch upstream
$ git merge upstream/master

此时,您在名为merge-upstream的分支上拥有新版本。如果一切仍然在这里工作,你会想要将它合并到你的主人。

$ git checkout master
$ git merge merge-upstream

现在你的master对原始主人来说应该都很好。删除你的工作分支。

$ git branch -d merge-upstream

你现在有一份副本。因此,您可以针对新master测试更改。将master合并到您的分支中进行测试。

$ git checkout my-feature
$ git merge master

您现在应该将原始用户的主分支中的所有更改合并到您的功能分支中。

PS:在处理长期运行的项目时,我会尽量确保原始主人不会超过一天或两天。实际上,我总是添加远程upstream以指向原始用户的存储库。然后,只要我需要,我就可以进行上游更改。