首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git正在将修补程序合并到多个分支

Git正在将修补程序合并到多个分支
EN

Stack Overflow用户
提问于 2012-05-26 05:04:51
回答 3查看 14.8K关注 0票数 26

我一直在尝试理解git分支模型。我一直在寻找http://nvie.com/posts/a-successful-git-branching-model/的一些想法,从Subversion中我真正期待的一件事是在一个地方进行更改,并将其合并到所有需要它的分支中。在Subversion中,我们最终复制了大量的代码。

然而,我仍然不完全理解这一点。这是我拥有的标准类型的工作流,它总是会出现冲突。

代码语言:javascript
复制
# create new version branch
git checkout master
git checkout -b v3
vim pom.xml  # change branch version to "3.1-SNAPSHOT"
git commit -a
git checkout master
vim pom.xml  # change master version to "4.0-SNAPSHOT"
git commit -a

因此,主节点位于4.0-SNAPSHOT,分支位于3.1-SNAPSHOT。

不,我想在分支上创建一个热修复程序并将其移动到主干上。

代码语言:javascript
复制
git checkout v3
git checkout -b hotfix
vim file.txt  # make a bugfix change
git commit -a
git checkout v3
git merge hotfix  # this works fine
git checkout master
git merge hotfix  # this has a conflict since both branches have changed the version

我理解为什么会发生这样的事情,这是有道理的。有没有更好的方法来做这件事?

我读过有关cherry-pick的文章,我测试了一下,它确实起作用了:

代码语言:javascript
复制
git checkout v3
git cherry-pick a518b0b75eaf28868
git checkout master
git cherry-pick a518b0b75eaf28868

然而,这似乎不是处理这个问题的“正确”方法。有什么建议吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10761348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档