1

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

--------------------------Master
|      |        |__v3
|      |__v2
|___v1
  |____bugfix

如果我修复了 v1 中发现的错误,并且需要在 v2 和 v3 中应用相同的修复(并且仅修复),有没有办法在 Git 中方便地做到这一点?

我是 Git 的新手,但我认为我可以选择 Chery-pick 提交并应用它,但我想知道分支是否需要在层次结构中直接相关?是否可以从 v1 下的“错误修复”到 v2 和 v3 进行挑选或变基?(或 v3 到 v2 等)Afaik,rebase 将重播所有提交,所以我认为cherry-pick 是我正在寻找的,但我不确定如何实现这一点。我看到从子分支到父分支的帖子。我想做什么可能吗?

干杯。

4

1 回答 1

6

如果错误修复是单个提交或一系列提交,您可以使用cherry pick。

您的错误修复将是一次提交,而 sha 是 SHA1

git checkout v2
git cherry-pick SHA1

如果是多个commit,则查找bugfix第一次commit之前的commit sha, SHA1, bugfix SHA2的最后一次commit sha

git checkout v2
git cherry-pick SHA1..SHA2
于 2012-12-03T19:03:21.560 回答