在进行多次提交后,如何为每个提交提交一个Pull请求?

时间:2017-01-17 17:23:26

标签: git github branch pull-request cherry-pick

我一直致力于一个项目,并在几项任务上取得了很好的进展。

我已经足够小心,可以将每项任务的所有更改保存在各自的提交中。

现在,我想单独为每个提交发出pull请求,因此每个pull请求只有一个提交。

最好的方法是什么?

我读过它涉及分支和樱桃挑选?我很欣赏教程,演练或流程。

理想情况下,我想使用GUI执行此操作,但首先我要了解如何以及为何使用的背景。

2 个答案:

答案 0 :(得分:2)

我的建议也是为每个拉取请求使用单独的分支& cherry-pick您对这些独立分支的承诺。

为此,我将通过以下示例给出您的流程, 您的master分支没有任何功能提交&你的Dev分支包含所有提交A,B,C,D

master

Dev => A,B,C,D

首先,您必须结帐到master分支

git checkout master

然后从FEATURE-A

创建master分支
git checkout -b FEATURE-A

然后cherry-pick您的提交A到FEATURE-A分支

git cherry-pick A #A is the hash value of your commit. Eg- 2f8b782

现在您的FEATURE-A分支只有提交A.现在您可以push FEATURE-A分支到origin&创建pull request

git push origin FEATURE-A

并对其他提交重复相同的过程。

希望你明白我要告诉你的是什么。我尽力保持尽可能简单。如果您有任何问题,请在下面发表评论

答案 1 :(得分:0)

您也可以使用git format-patchgit am对命令执行此操作。

mkdir patches
git checkout Dev
git format-patch -o patches master

通过这三个命令,一个提交的一个文件的补丁将保存在补丁文件夹中。

然后从master分支创建新分支并应用所有这些补丁

git checkout master
git checkout -b FEATURE-A
git am patches