2017-07-19 225 views
0

有一种拉取请求是通过更长时间的变化创建的,因此包含对项目多个部分的更改。代码审查团队希望这个拉取请求被放弃,并创建多个较小的拉取请求。来自单个拉取请求的多个拉取请求

经过初步研究,从拉取请求中选择特定文件夹/目录的更改并创建较小的拉取请求似乎不可行。

一些提交具有跨越夹变化,使采摘樱桃是不可行的

有什么建议?

+0

如何挑选一个小功能的相关提交并创建一个Pull请求? –

+0

我无法挑选提交,因为有100多个提交,并且每个提交都跨文件夹进行更改。这个问题是为特定代码目录中的更改创建PRO – DanglingPointer

+0

我将从每个需​​要PR的提交中分支(读取为历史记录中必须是PR的每个点),我会以我的观点更有意义 –

回答

0

得到的所有承诺一个特定的文件夹

git log -- path/to/folder 

然后压扁提交(squashing commits

+0

对不起,我没有得到你。可以说,10个提交跨3个文件夹的变化,我如何创建3 PR这些变化? – DanglingPointer

+0

回退最近的10次提交。 1)从一个以前创建的本地仓库中获取一个文件夹并获取该文件夹中的所有提交(使用樱桃选择),并将其压缩到一个提交,然后按照相同的方式对其他文件夹进行提交,最后您将得到3提交。 – skr

0
  • 确保你没有任何提交的工作

  • 结账PR到临时分支

    git checkout -b pr_splitting_branch top_of_the_PR

  • 现在,保持变化,移动到PR的底座(的git merge-base HEAD origin/master输出)

    git的复位--mixed PR_base

不是你把所有的变化,未提交。您可以使用git add --interactive或GUI来选择要放置到第一次提交的更改。重复它,直到你完成所有更改。然后使用git cherry-pickpr_splitting_branch分成单独的分支。