将提交应用于多个发布分支 - Git Rebase或Cherry-Pick?

mar*_*ked 1 git cherry-pick

我正在开发一个带有Master分支的项目,当然:P和多个发布分支随着时间的推移而创建.我正在使用的版本控件是Git,我正在寻找一种方法,将一个版本分支中的错误修复(例如)应用于其他版本,如果可能的话.即..

--------------------------Master
|      |        |__v3
|      |__v2
|___v1
  |____bugfix
Run Code Online (Sandbox Code Playgroud)

如果我修复了v1中发现的bug,并且需要在v2和v3中应用相同的修复(并且只修复),有没有办法可以在Git中方便地执行此操作?

我是Git的新手,但我认为我可能能够奇瑞 - 选择提交并应用它,但我想知道分支是否需要在层次结构中直接相关?是否有可能从v1下的'bugfix'到v2和v3进行挑选或修改?(或v3到v2等)Afaik,rebase将重播所有提交,所以我认为樱桃选择是我正在寻找的,但我不确定如何实现这一目标.帖子我看到从孩子到父母分支的樱桃挑选.是我试图做的可能吗?

干杯.

Pet*_*oes 6

如果错误修正是单个提交,或一系列提交,您可以使用樱桃选择.

你的错误修正是一次提交,sha是SHA1

git checkout v2
git cherry-pick SHA1
Run Code Online (Sandbox Code Playgroud)

如果是几次提交,请在第一次提交错误修复,SHA1和错误修正SHA2的最后一次提交之前找到提交sha

git checkout v2
git cherry-pick SHA1..SHA2
Run Code Online (Sandbox Code Playgroud)