关于标准git / github工作流程的问题我认为。但我真的非常了解所有这些。
我该怎么做?我遇到的问题:
1)我无法分叉新版本,当我按下fork github将我重定向到我当前的新版本的分支时,我是否必须删除它以获得新版本?
2)是否有可能以某种方式自动应用我对以前版本所做的更改?
答案 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
以指向原始用户的存储库。然后,只要我需要,我就可以进行上游更改。