将分支拆分为单独的分支以进行拉取请求

时间:2016-11-16 17:41:36

标签: git github

我有一个名为shared_pictures_feature的git分支。这个分支有一堆新文件,允许用户上传照片,在朋友之间分享照片,以及评价照片。为了在代码审查期间简化开发人员的理智,我想将shared_pictures_feature分支分为三个独立的分支进行PR审查。

每个分支只应包含特定子功能所需的相关文件。例如,upload_photos_feature分支应该只包含处理上传照片的shared_pictures_feature代码。这是我的问题,我如何用git做到这一点?这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

有几种不同的方法可以做到这一点,但这是我的建议。

首先,创建并切换到您的第一个分支。

git checkout -b upload_photos_feature

接下来,找到您将shared_pictures_feature分支的提交。我建议阅读this StackOverflow问题,了解有关如何执行此操作的详细信息。然后,为了取消提交该分支中的所有文件,您需要执行以下操作:

git reset --mixed <parent commit of both branches>

下一步将提交相关文件。只需在upload_photos_feature分支中添加和提交所需的文件,其余部分保持不变。

现在,您需要切换回原始分支并恢复之前的状态。

git reset --hard HEAD
git checkout shared_pictures_feature

现在,您将希望再次为每个新分支执行这些步骤。只要确保您每次都创建新分支的第一步,因为您不想在shared_pictures_feature上丢失任何内容。