我不想破坏某些东西,所以我想在这里问。我不小心在一个分支上创建了一个功能进行测试,我尝试将提交移至新分支,并使用git rebase
将其基于master,但是我将3个提交放在新功能的分支中,如下所示:< br />
N = New feature
T = Test branch
M = Master
M
|\
| T
N - T1 - T2 - N1
我想得到:
M
|\
| T - T1 - T2
N - N1
我已经尝试过一些重新设置,但是在原点,我只有分支Test和三个提交。
答案 0 :(得分:2)
让我们分解这个问题:复制并删除提交。您不能直接“移动”。
首先,使用T
将两个T
提交重复到cherry-pick
分支。您可以抓住要移动的两个提交的SHA,然后按照以下步骤操作
git checkout test
git cherry-pick <commit 1> <commit 2>
然后,将其从N
分支中删除
git checkout new
git rebase HEAD~4
找到两个提交,并使用从Git弹出的文本编辑器将其删除,然后保存文件并退出。 Git会做剩下的事情。