首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git-tf允许合并远程分支吗?那采摘樱桃呢?

git-tf允许合并远程分支吗?那采摘樱桃呢?
EN

Stack Overflow用户
提问于 2012-09-06 23:46:21
回答 1查看 1.1K关注 0票数 2

我们在发布周期中维护多个TFS分支。当前流程是在用户故事完成后,从WIP分支中挑选变更集到测试分支中。

我最想知道的是,git-tf是否允许以这种方式使用多个远程分支,以及它是否能够签入合并,而不是签入看起来像新代码的代码。

这里有一个关于这方面的讨论:

Merge two TFS branches with git tfs

有人提到,git-tfs不会与其他直接使用VS的人玩得很好。有人知道git-tf是不是这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 00:45:17

此时,git-tf不表示带有git分支的TFS分支,也不会在任一方向上转换合并-也就是说,它不会签入合并,也不会将TFS合并的结果显示为git合并。这是一个很重要的问题,因为在两种架构中的合并之间有一些非常根本的区别。

TFS合并为git合并:

在git中,您合并两个提交,并最终得到一个结果提交。TFS看起来很相似,因为您可以选择合并源和目标变更集,但合并源不必是变更集。您可以根据标签、工作区版本、日期等进行合并,这意味着您最终可以合并来自多个不同更改的不同文件。这是一个容易解决的问题(最终,我会假设,将其表示为某种疯狂的章鱼合并)。

一个较难解决的问题是基于TFS分支创建git分支。这更多的是一个设置问题--比如,你想要哪个分支?所有人?他们中的一些?如果答案是“全部”,那么在进行初始克隆时很容易设置。但对我来说,这是微不足道的数百个分支机构,而且第一次建立起来有点昂贵。如果答案是“其中的一些”,那么你必须在克隆时指定它们,否则你会在以后以令人讨厌的方式重写git历史。

随着合并,TFS git合并:

在git中,分支是短暂的。它实际上只是一个指向树中节点的指针...不存在这样的长期状态:“提交1b4caf曾经位于分支branch中。”假设有一些git分支master指向TFS分支$/Proj/main,另一个git分支test指向$/Proj/test。在git中,可以将test合并到main中。没问题,在这一点上,mainHEAD提交有一个父testHEAD,但是如果你开始在test分支中改变一些东西,这很快就会变得很难确定。

此外,现在git-tf将一个git分支映射到您的TFS服务器路径。对于合并签入,我们必须一次签入多个分支。假设你对master做了几次提交,对test做了几次提交,然后合并了他们的每个HEAD,现在我们必须把几个提交签入到每个TFS分支,然后进行合并。这不一定很难,但它与目前git-tf的工作方式有很大的不同。

这绝不是一个不可能的问题,但它需要一些聪明的工程和一大堆聪明的测试。但它还没有实现。

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

https://stackoverflow.com/questions/12303755

复制
相关文章

相似问题

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