保持分支与Git同步

时间:2009-08-19 19:22:17

标签: git version-control branch

使用SVN,我有以下设置:

/tags/
/trunk/
/branches/
/branches/my_feature
/branches/my_other_feature

我想让所有分支与主干线路同步,所以我定期为主干分支运行svn合并。

但是,我还希望保持所有分支彼此同步,以避免冲突,因为任何给定分支的生命周期可能是几个月或更长时间。如果我有十几个分支,我会有一个与SVN讨厌的网格,这是不切实际的。

我的问题是,使用Git而不是SVN帮助保持分支机构彼此同步和干线?

3 个答案:

答案 0 :(得分:6)

通过执行rebase,可以帮助您保持两个分支与trunk同步。

使用分支my_feature时,执行:

git rebase master

这会将您在主(主干)分支中的更改带到my_feature。

关于保持my_feature和my_other_feature同步,如果一个是另一个的后代,则其原理相同。如果my_feature不是my_other_feature的后代或反之,我不知道答案。

答案 1 :(得分:2)

是的,大部分时间。所有三个现代DVCS(Git,Mercurial和Bazaar)都可以判断您上次合并的时间,并且不会尝试重新合并已经合并的变更集。

如果你正在做一些真正棘手的事情,你可能会遇到一些奇怪的边缘情况,但即使你这样做也会比使用SVN 里程更好。< / p>

答案 2 :(得分:0)

请注意,您应该使用Git 完全而不是SVN来获得所需的功能。如果你只是使用git作为前端到SVN(vai git svn),这可能会导致SVN用户看起来不正确。