Git从某些提交中重新设置基础
对于初学者来说,理解Git rebase确实很困难。当我重新设置基址时,我总是得到奇怪的结果。我发现我可以使用Git从某些提交中重新设置基础,git,Git,对于初学者来说,理解Git rebase确实很困难。当我重新设置基址时,我总是得到奇怪的结果。我发现我可以使用--on来控制我应该重新设置基准的位置,但是如何从方面控制 例如: 假设我现在在branch 2,数字表示提交完成的时间,红色表示尚未在master中的branch-2提交。如果我想让我的分支2位于下方,我应该使用什么命令 1) 1->2->8->3->5->6->7 2) 1->2->8->5->6->7 一开始,我认为这是不可能的,因为我的commit 3将不复存在,但我从Git网
--on
来控制我应该重新设置基准的位置,但是如何从方面控制
例如:
假设我现在在branch 2,数字表示提交完成的时间,红色表示尚未在master中的branch-2提交。如果我想让我的分支2位于下方,我应该使用什么命令
1) 1->2->8->3->5->6->7
2) 1->2->8->5->6->7
一开始,我认为这是不可能的,因为我的commit 3将不复存在,但我从Git网站上读到它,这实际上是有效的
3) 1->2->3->5->6->8->7
我能做这个吗?基本上是在主服务器上只重设提交7的基础
问这些问题的原因是,autorebase
总是让我头疼,因此我宁愿能够指定,我想将从
哪个提交重新设置为
哪个提交。我能做到吗?但是我无法从
参数中找到。第一种情况:
git checkout branch2
git rebase máster
第二种情况:
git rebase --onto master branch2~3 branch2 #rebase branch2 but skipping revision 3
第三种情况:
git checkout branch2~
git cherry-pick master #pick revision 8
git cherry-pick branch2 # pick revision 7
# if you like the result
git branch -f branch2
git checkout branch2
建议将分支标签放在正确的位置。一个分支指向一个提交。@evolutionxbox嗨,我不太明白,你能进一步解释一下吗?如果你看git文档中的图表,你可以看到分支名称指向提交<代码>主机
例如指向C6
。