当我最初分叉项目并设置我的环境时,我有这个。
> git branch -a
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/upstream/master
我对上游项目没有“推送”权限。我必须 从我的叉子发送拉请求。
一周后,我们创建了一个新分支,用于处理上游的特定增强功能。 该团队可能在该分支机构工作数周。
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/upstream/new-project-feature
remotes/upstream/master
我为此分支设置和提交代码的适当方式是什么? 这就是我所做的。这是正确的做法吗?
git branch new-project-feature
git checkout new-project-feature
git rebase upstream/new-project-feature
.. code changes
.. commit
git push origin HEAD:new-project-feature
.. go to github and send the pull request.
父项目如何知道将拉取请求合并到其中 新项目功能分支?
答案 0 :(得分:0)
拉取请求背后的想法是:
origin
),并从那里发出拉取请求
BUT:
您应该在目标分支的专用分支,不中进行增强。
这意味着,不在master
或new-project-feature
中:这些是“目标”分支,在您的分支中,镜像 upstream
repo, 改为“ remote track ”upstream/master
或upstream/new-project-feature
。
因此,您应该创建一个或几个分支,每个分支用于您想要为new-project-feature
做出的小改动,推送一个小分支“small_change
”,并且向upstream/new-project-feature
提出拉取请求。
您可以定期提取upstream
,使用最新的上游/新项目功能更新您的本地new-project-feature
。
然后,您可以在更新的new-project-feature
分支之上 rebase 您的“small_changes”分支,然后继续处理它。
请注意,如果{/ 1>}在之后的上游中发生了变化,那么您已经从分叉发出了拉取请求,那么您需要做的就是:
new-project-feature
分支new-project-feature
分支
small_change
最后一次强制推送会自动更新您的拉取请求:您不必再执行第二次拉取请求。
请点击“How to do a Github pull request?”了解更多信息。