我在Git储存库中有以下情况
A-B [来源/主数据]\C [来源/ X]\E-F [来源/是]
[当我启动Y
时,我没有意识到我已经从X
分支了,我打算从master
分支。
如何将Y
设置为包含提交C
的主控without?
([X
上的更改是未由Y
上的提交触及的文件]
我想结束以下内容:
A-B [来源/主数据]\\ E-F [来源/是]\C [来源/ X]
我尝试过git rebase master
,但似乎没有任何改变,输出为:
Current branch Y is up to date.
可以很容易地做到这一点:
git rebase --onto origin/master origin/X origin/Y
鉴于您正在使用远程引用,因此您将处于分离的HEAD上,因此必须执行此操作以将结果分支推入原始节点的分支Y:
git push origin -f HEAD:Y
与Git一样,可能有很多方法可以实现这一目标,但是以下方法应该起作用:
Y
上将其重置为master
:git reset --hard master
。git cherry-pick C..F
中选择提交内容(假设E
和F
是分支中C
之后的第一个和最新的提交ID)。编辑:正如@ eftshift0所指出的,我最初在git cherry-pick
语句中输入了错误的提交ID-现在已修复。