通过git-tf或git-tfs使用git和TFS时要考虑的限制?

时间:2012-12-03 18:58:32

标签: tfs git-tfs git-tf

如果我的源代码处理基于TFS(获取所有集成和报告等)但在本地使用git-tf或git-tfs,我会真正想念的是什么?

那么我是否能够在功能上使用完整的git进行本地分支和合并,就像使用基于git的中央存储库一样,或者是否会考虑不同的工作流程和限制?

我们使用功能和发布开发分支很多并且喜欢继续这样做,实际上TFS服务器在使用git-tf等在本地推送时如何处理?

2 个答案:

答案 0 :(得分:4)

实际上,git-tfs比git-tf更先进。我强烈建议使用它而不是git-tf(暂时)。

使用git-tf,你应该将每个分支克隆为一个存储库(并且无法分析,合并......),而在最后一个版本的git-tfs中,你可以做到并保持你的工作流程。 见https://stackoverflow.com/a/13710811/3619

如果你知道git,使用git-tfs没有问题!

文档:https://github.com/git-tfs/git-tfs/blob/master/doc/

只要知道如果你使用:

git tfs checkintool

或:

git tfs checkin

它将创建合并提交

如果您使用:

git tfs rcheckin

它将在tfs中提交每个本地提交,并在这些提交中自动获取和重新绑定...

但是阅读维基文档,它已经足够清楚了;)

编辑: 与@gbjbaanb所说的相反,使用git-tfs代替普通TFS有很多好处(如果你知道如何使用git ......)。所有你可以使用git本地工作,仍然是一个优势(轻分支,rebase,本地提交,重做提交,确切知道哪个版本的检查,获取和看到更改,而不是将它们与当前工作区合并,更好的历史,... )。

现在使用git-tfs,你甚至可以比使用TFS更容易创建一个TFS分支(你只需要在进行提交之前创建它,或者在创建它之后重新创建它,如果你在git分支中开始你的工作之前......)。

目前唯一不比TFS好的是合并2个不支持的TFS分支。如果你想在你的历史记录中看到合并(我们通常想要的)或者在tfs中与git和checkin合并(你不会看到合并变更集:()),你应该与TFS合并。 一个拉请求[1]来解决所有这些(并允许管理合并提交比使用TFS更容易)已经完成并等待截断中的合并(我只需重构单元测试并审查该功能)。

[1] https://github.com/git-tfs/git-tfs/pull/363

答案 1 :(得分:2)

如果您首先使用git-tf(MS版本),您将必须了解您使用的命令会有所不同 - 它们在每个命令中都添加了额外的“tf”。 (例如git tf push

第二个是分支不会像git那样工作 - 我发现(这可能是由于安全设置等等,即使我可以在本地和服务器上创建分支),虽然你可以分支你的本地git设置,你不能将新的分支推回服务器 - 你必须首先将它合并到一个“官方”分支。

如果使用TFS,我不会费心去尝试使用任何网桥(尽管由于TFS的性质接近SVN,svn-tfs网桥非常接近)。我会使用本机客户端。我不会先选择TFS,但 if 这是我必须使用的 - Team Explorer Everywhere客户端将是我的选择。

相关问题