2017-02-14 114 views
0

在TFS 2015中设置新项目和分支设计。这些细节可能很重要 - 我将它用于PowerBuilder项目,而不是.NET - VS2015用于设置分支并执行合并,文件本身将在PowerBuilder中检入和检出。据我可以看到,不应该有所作为,但提到这一点的情况下,我已经错过了一些东西TFS 2015中的新分支在Baseless合并中完全合并

使用下面的示例布局:从国防部

enter image description here

督促分支机构/,下跌去开发。新的CO项目从Prod分支(因此它们始终以新的最新实时代码开始),然后合并(通过无基本合并)到DEV分支,并在连接建立后重新合并。这样用户就不必记得做一个毫无根据的合并;开发将成为默认的合并目标

梅杰斯将他们回去了从开发到国防部,然后再返回到正式版

的问题是,作为一个测试,我试过后支的毫无根据的合并,并不期待任何文件被合并,因为任何分支都没有改变。但是从CO分支到Dev的合并合并了所有文件。现在不存在问题,因为没有改变的地方,但是一旦几个项目已经合并到DEV中,这将是一个相当大的问题。

合并后,我在项目中做了一个小改动,并尝试合并;只有一个更改文件合并。

我最好的猜测是,由于新的CO分支是在开发分支之后创建的,因此它被看作是其中的一切都比开发分支更新,所以它翻了一切。不确定如何处理在Prod分支中没有看到的Dev中的更改,尚未测试该场景。它至少应该告诉我需要合并的更改,但是我担心它可能会将它们与CO分支中的“新”文件一起转存。

问题是,我怎么能/告诉系统这个新分支比Dev分支“不新”?事实上,这些PowerBuilder文件在某种程度上限制了TFS以某种方式识别版本的能力?

甚至更​​简单地说,我试过的分支布局不是最好的方法吗?

编辑 - 这里是我目前用于.NET项目的结构 - 我试图用上面的布局代替新代码。

enter image description here

它采用了“主”分支在评论以下建议,但因为我是从开发拉动“CO分行”,我得到目前正在测试的代码,而不是原始PROD代码。我假设试图在此布局中分支并重新生成Prod将导致相同的情况。

那么这是更好的方式去追究?

+0

无基础合并无历史记录,所以当您在Dev中覆盖事物时,您可能会得到显着的回归。 –

+0

我的印象是,这将是最好的方式来设置结构,以确保我有新的,最新的变化的代码。更好的建议,任何人? – VBartilucci

+0

为什么你需要MOD和Dev?为什么不使用MAIN/TRUNK/MASTER并始终有工作代码。 –

回答

0

您可能有一个主分支,它是开发和发布分支之间的分支分支,代表产品的稳定快照。

当Dev分支上的工作完成时,您可以从Main分支到Dev,Mod和Prod,当您想要发布产品时,从Dev合并到Main,从Main合并到Prod。所以当你想从最新的实时代码中分支时,你可以从Main分支。这样,您可以从CO合并到Main,然后Main到Dev或Main to Prod。所有的变更集将被保留。

+0

只是确保你建立每个分支和测试,测试,测试... –

+0

其实我目前使用“主分支”设计,我试图摆脱它,因为我认为从产品拉更好。我已经用该布局的图表更新了问题,希望它有用。也许这不是你想要的布局 – VBartilucci

+0

你可以从Main分支到Dev,Mod和Prod,并从Dev,Mod和Prod合并回Main,然后当你想从最新的实时代码中分支时,你可以来自Main的分支。这样,您可以从CO合并到Main,然后Main到Dev或Main to Prod。不需要重新分支CO分支。 –