[英]Git rebase to older commit
在去年开始和关闭项目之后,我已经设法让自己陷入了一个混乱的境地。 这是发生的事情:
开始生产版本。 我们称之为A
做了一些从未完成的重大功能变化。 无意中将此事交给了master
分公司。 代码从未投入生产。 我们称之为提交B
几个月过去了,我需要在生产上做一些修补程序。 使用“ git checkout A .
”恢复为A
提交,使我的修补程序更改然后在B
上方的主分支上提交为C
想要完成提交B
功能。 使用“ git checkout B -b featureBranch
”获取一个包含来自提交B
所有未完成功能的新分支。 但是,我没有包含来自C
修补程序。
如果我运行“ git rebase master
”,我的所有C
提交修复都会被应用,但是我从提交B
丢失了我的更改。
如何在不丢失B
提交的情况下提交我的C
提交更改?
最简单的方法是樱桃挑选( git cherry-pick
):
git checkout featureBranch
git cherry-pick C
如果稍后, featureBranch
将简单地替换当前的master
,那将会有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.