2012-12-25 32 views
25

比方说,我已经克隆了资源库,创建了新的分支“Topic1”,进行了更改,将它们提交,然后将它们推送到远程仓库git push origin Topic1。之后,我向主分支提出了一个请求。只包含特定的提交请求

然后在我的本地存储库中,我从分支“Topic1”签出到分支“Topic2”,在那里做了一些更改,提交并再次将这个新分支推送到远程。并再次向主人提出拉求。我想提及的是,在此期间没有更改主分支,所以我不需要将本地回购与上游同步。

这里的问题是:当我去拉动“Topic2”的请求页面时,所有提交的“Topic1”都在那里呈现。所以,我的问题 - 我如何才能进入仅与“Topic2”分支相关的第二次拉取请求提交?

+0

相关:在[拉请求是如何不同的一些好细节(https://stackoverflow.com/q/6235379/465053)在Git中(软件)和GitHub上(网络服务) – RBT

回答

28
  1. upstream/master

  2. cherry-pick有关提交从分支TOPIC2创建基于一个新的分支(到新的分支)

  3. 创建从这个新分支拉请求。

+1

的问题在于我需要在Topic1分支中所做的所有更改都位于Topic2中,目前尚未在master分支中。但我不希望它们在与Topic2分支相关的拉取请求中显示。 – tokenvolt

+1

那是不可能的。拉请求包括与目标分支相比的所有更改。但是你可以有3个分支:一个是你的“工作分支”从TOPIC1和TOPIC2和其他两个分支合并提交只是为引入请求。 – Peter

+0

感谢您的意见。 – tokenvolt