分支模型:如何将分支中完成的更改移动到另一个分支

时间:2013-02-07 13:51:36

标签: git

需要解释。所以我参与了功能分支(让我们称之为feature/feature1),提交并推送到远程。

git commit -m "commit feature1"
git push origin feature/feature1

然后我开始研究一个新功能,但我继续开发feature/feature1分支,而不是检查开发,拉动和创建新功能分支。

我不想丢弃更改,如何创建新分支并将所有新更改从feature/feature1分支移动到新创建的分支?感谢名单。

2 个答案:

答案 0 :(得分:1)

您可以使用rebase--onto参数将某些更改从一个分支移动到另一个分支。在文档中有一个如何做到这一点的例子,以

开头的部分
  

以下是如何使用rebase --onto将基于一个分支的主题分支移植到另一个分支,假装您从后一个分支分叉主题分支。 ...

您的命令可能如下所示:

git branch feature/feature2
git reset --hard <sha1 of last commit of feature 1>
git rebase --onto <where you want branch to start> feature/feature1 feature/feature2 

答案 1 :(得分:0)

如果要创建包含当前提交的新分支,则应执行git branch newbranchname。这将创建一个新分支,但不会更改旧分支。如果要从旧分支中删除新提交,如果该分支尚未发布,您可以签出并执行git reset --hard lastcommitid