如何从几个提交创建分支?

Jea*_*ean 2 git

我对git很新.

目前我有下面描述的提交,这些提交已被推送到远程. 只有1个分支

当我不得不开始构建一个ui时,我创建了一个分支(branch1).但我意识到,当我处理另一个功能(绿色)时,我应该做第二个分支.

如何从当前设置进入以下设置?如果它让事情变得更容易,我就没有其他合作者.

单独的分支

更新:所有答案都有效,我接受了第一个提交的答案,但使用了答案的组合.要撤消提交,我们可以使用交互式rebase工具(删除其他提交之间的提交).

Jon*_*art 11

不要樱桃挑选.使用git-rebase.

这就是你现在所处的位置:

在此输入图像描述

1)在以下位置创建一个新分支branch1:

git branch branch2
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

2)重置branch1到其头部应该是:

你可以用任何一个git log来查找最后一个好提交的哈希,或者(在我的例子中)HEAD~2用来返回两个提交.

git reset --hard <back-there>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

3)切换到 branch2

git checkout branch2
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

4)调整基线一切 branch1 最多 branch2master

git rebase --onto master branch1
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述