4

如果将我的源代码处理基于 TFS(以获取所有集成和报告等)但在本地使用 git-tf 或 git-tfs,我实际上会错过什么?

然后,我是否能够像使用基于 git 的中央存储库一样使用完整的 git 功能在本地进行分支和合并,还是需要考虑不同的工作流程和限制?

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

4

2 回答 2

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 中提交每个本地提交,并根据这些提交自动获取和变基...

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

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

现在使用 git-tfs,您甚至可以比使用 TFS 更轻松地创建一个 TFS 分支(您只需在提交之前创建它,或者如果您之前在 git 分支中开始工作,则在创建它之后重新建立它...... . ).

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

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

于 2012-12-05T12:57:42.683 回答
2

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

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

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

于 2012-12-03T19:11:03.760 回答