我在GitHub上分叉了某人的存储库,并希望使用原始存储库中的提交和更新来更新我的版本。这些都是在我把我的副本分叉后制作的。
我如何将在源代码中所做的更改引入并将其合并到我的存储库中?
我在GitHub上分叉了某人的存储库,并希望使用原始存储库中的提交和更新来更新我的版本。这些都是在我把我的副本分叉后制作的。
我如何将在源代码中所做的更改引入并将其合并到我的存储库中?
当前回答
本视频演示如何直接从GitHub更新分叉
步骤:
在GitHub上打开你的分叉。单击拉取请求。单击New Pull Request。默认情况下,GitHub会将原始文件与您的fork进行比较,如果您没有进行任何更改,则不应该有任何可比较的内容。单击切换底座。现在GitHub将您的分叉与原始分叉进行比较,您应该可以看到所有最新的更改。单击Create a pull request for this comparison(为此比较创建拉取请求),并为拉取请求分配一个可预测的名称(例如,从原始请求更新)。单击Create pull request。向下滚动并单击合并请求,最后确认合并。如果您的分叉没有任何更改,您将能够自动合并它。
其他回答
本视频演示如何直接从GitHub更新分叉
步骤:
在GitHub上打开你的分叉。单击拉取请求。单击New Pull Request。默认情况下,GitHub会将原始文件与您的fork进行比较,如果您没有进行任何更改,则不应该有任何可比较的内容。单击切换底座。现在GitHub将您的分叉与原始分叉进行比较,您应该可以看到所有最新的更改。单击Create a pull request for this comparison(为此比较创建拉取请求),并为拉取请求分配一个可预测的名称(例如,从原始请求更新)。单击Create pull request。向下滚动并单击合并请求,最后确认合并。如果您的分叉没有任何更改,您将能够自动合并它。
要自动将分叉存储库与父存储库同步,可以使用GitHub上的Pull App。
有关详细信息,请参阅自述文件。
对于希望保留对分叉存储库所做的更改的高级设置,请参阅我在这里对类似问题的回答。
Use:
git remote add upstream ORIGINAL_REPOSITORY_URL
这将将您的上游设置为分叉的存储库。然后执行以下操作:
git fetch upstream
这将从原始存储库中获取包括master在内的所有分支。
将此数据合并到本地主分支中:
git merge upstream/master
将更改推送到分叉存储库,即推送到源:
git push origin master
瞧!您已经完成了原始存储库的同步。
除了VonC的答案,你还可以根据自己的喜好进一步调整。
从远程分支提取后,您仍然需要合并提交。我会替换
$ git fetch upstream
具有
$ git pull upstream master
因为gitpull本质上是gitfetch+gitmerge。
如果你想不使用cli,可以在Github网站上完全完成。
转到您的fork存储库。单击New pull request。确保将fork设置为基础存储库,将原始(上游)存储库设置为头部存储库。通常,您只需要同步主分支。创建新的拉取请求。选择合并按钮右侧的箭头,并确保选择重新基准而不是合并。然后单击按钮。这样,它就不会产生不必要的合并提交。完成。