需要解释。所以我参与了功能分支(让我们称之为feature/feature1
),提交并推送到远程。
git commit -m "commit feature1"
git push origin feature/feature1
然后我开始研究一个新功能,但我继续开发feature/feature1
分支,而不是检查开发,拉动和创建新功能分支。
我不想丢弃更改,如何创建新分支并将所有新更改从feature/feature1
分支移动到新创建的分支?感谢名单。
答案 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
。