我正在开发一个带有Master分支的项目,当然:P和多个发布分支随着时间的推移而创建。我正在使用的版本控件是Git,我正在寻找一种方法,将一个版本分支中的错误修复(例如)应用于其他版本,如果可能的话。即...
--------------------------Master
| | |__v3
| |__v2
|___v1
|____bugfix
如果我修复了v1中发现的错误,并且需要在v2和v3中应用相同的修复(并且只修复),有没有办法可以在Git中方便地执行此操作?
我是Git的新手,但我认为我可能能够奇瑞 - 选择提交并应用它,但我想知道分支是否需要在层次结构中直接相关?是否有可能从v1下的'bugfix'到v2和v3进行挑选或修改? (或v3到v2等)Afaik,rebase将重播所有提交,所以我认为樱桃选择是我正在寻找的,但我不确定如何实现这一目标。帖子我看到从孩子到父母分支的樱桃挑选。我试图做的是什么?
干杯。
答案 0 :(得分:6)
如果错误修正是一次提交,或者一系列提交,你可以使用樱桃选择。
你的错误修正是一次提交,sha是SHA1
git checkout v2
git cherry-pick SHA1
如果是几次提交,请在第一次提交错误修复,SHA1和错误修正SHA2的最后一次提交之前找到提交sha
git checkout v2
git cherry-pick SHA1..SHA2