有没有办法将一个提交从一个分支重新绑定到另一个分支?
我有这个分支结构:
-- -- -- -- -- (Master)
\
-- -- -- -- -- XX (Feature-branch)
Run Code Online (Sandbox Code Playgroud)
我想要做的就是将最后一次提交改为Feature-branchmaster并回滚Feature-branch一次提交.
-- -- -- -- -- XX (Master)
\
-- -- -- -- -- (Feature-branch)
Run Code Online (Sandbox Code Playgroud)
我怎么做?
tew*_*ewe 103
你可以樱桃挑XX来掌握.
git checkout master
git cherry-pick <commit ID of XX>
Run Code Online (Sandbox Code Playgroud)
并使用git reset从功能分支中删除最后一次提交.
git checkout Feature-branch
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
Cha*_*esB 85
git rebase --onto master branch~1 branch
Run Code Online (Sandbox Code Playgroud)
这说"在主分支的尖端上重新设置分支前的分支和分支(即XX提交)之间的提交范围"
在此操作之后,branch提示会移动提示XX,因此您需要将其设置为
git checkout branch
git reset --hard branch@{1}^
Run Code Online (Sandbox Code Playgroud)
其中说"在之前的状态之前将分支提示重置为提交"
所以樱桃选择是一个更简单的解决方案......
hrd*_*rbl 38
实际上这很简单.解决方案是进行交互式rebase并"删除"您不希望包含在rebase中的所有提交.
git rebase -i <target_branch>target_branch你想要转移到的分支在哪里
然后,您将编辑打开的文件和pick您想要的提交,以及drop(或d简称)您不想带来的所有提交.
| 归档时间: |
|
| 查看次数: |
59309 次 |
| 最近记录: |