GIT Noob - 如何防止意外合并?

时间:2012-01-28 15:17:18

标签: git

我是GIT的新手,我很好奇适当的工作流程(这只是我的第二个SCM,我的第一个是Clearcase)。我们假设有2个GIT分支:Master& Foobar

John编辑了一个文件hello.txt,其中的更改只能位于Foobar分支上。 John检查Foobar分支,进行更改并提交。

Jane现在需要对hello.txt进行更改,这需要Master& Foobar个分支机构。她检查Foobar分支,进行更改并提交。然后她检出Master分支并从Foobar分支中提取文件。但是,她现在不恰当地将John的更改合并到Master

如何避免这种情况?在Clearcase世界中,John有责任创建合并箭头以确保他的更改不会合并到Master。 GIT中有类似的东西吗?或者有更好的工作流程吗?

2 个答案:

答案 0 :(得分:2)

如果您在分支机构A上并且想要在分支B上提交更改,那么您想要的是樱桃选择那些更改。见Google: git cherry pick

如果你git pull B,你刚刚将B合并为A;这是你想要避免的。但幸运的是,撤消合并比执行合并更容易。如果它没有被推到任何地方,你所要做的就是在合并之前将A的头重置为提交。

答案 1 :(得分:1)

git中没有合并箭头这样的东西。

听起来Foobar就是一个不应该掌握变化的分支。如果是这样的话,Jane就应该开始在master中工作并将其合并到Foobar中。