我有两个分支dev
和master
。我正在使用BitBucket。
我需要从dev
分支中挑选一些提交内容。
然后需要为master
分支创建拉取请求。
由于我的dev
环境有很多东西,其中一些无法直接合并到master
中。
因此,从dev
分支获取提交 <id 1>、<id 2>,将它们一起获取,创建一个拉取请求,将它们与master
分支合并。
我有两个分支dev
和master
。我正在使用BitBucket。
我需要从dev
分支中挑选一些提交内容。
然后需要为master
分支创建拉取请求。
由于我的dev
环境有很多东西,其中一些无法直接合并到master
中。
因此,从dev
分支获取提交 <id 1>、<id 2>,将它们一起获取,创建一个拉取请求,将它们与master
分支合并。
您可以使用
git cherry-pick <commit id>
选择特定的提交
为了完成周期并从主分支创建PR。 我们可以执行以下步骤:
假设当前在master
分支上:
git checkout -b myNewBranch // this will create a new branch named myNewBranch
git cherry-pick <commitID 1> // this will take the commit with the commit ID 1 and
// attempt to place it on top of the master branch.
// Note however, there might be conflicts to resolve
git cherry-pick <commitID 2> // this will take the commit with the commit ID 2 and place on top of the master branch
git push origin/<some branch name> // will push the changes to remote. Usually origin/<local branch name>
然后根据您的平台,您可以创建一个拉取请求。可以通过GUI在GitHub平台或DevAzure等平台上进行操作,也可以通过BitBucket GUI在您的情况下进行操作。
顺便提一句:上述步骤是为了简单起见。也可以使用一行代码来进行cherry-pick。就像这样:
git cherry-pick <commitID 1> <commitID 2>
dev
创建新分支。然后从中挑选提交。然后通过PR将此新分支合并到主分支。正确吗? - MightyFork original-repo as "your-repo"
git clone your-repo
cd your-repo
git checkout dev
git pull //to get all your commits to local
git checkout master
git pull //to make sure branch is upto date
git cherry-pick commit-id
git push //commits the cherry-picked commits to the master branch of forked repo
Raise PR from Forked repo "your-repo" master branch to "original-repo" master branch