在家里使用Git已经破坏了我 - 我现在发现在工作中使用TFS有点拖累,并且想要探索在本地使用Git并以某种方式与TFS同步的可能性。我认为有一些不同的方法可以做到,并希望听到尝试过它的人。
我找到了一个描述相对手动工作流程的blog post,但我希望能有更好的自动化和历史支持。
Jim Deville似乎正在写一篇关于IronRuby团队如何让他们的github存储库与TFS保持同步的series但它还没有完成,我必须承认我跟Jim到目前为止写的有点麻烦
我曾短暂尝试使用SvnBridge和git-svn的组合,但我很快就遇到了错误(也许是this一个?)。我打算进一步探讨这个......
更新:看起来有些人在使用SvnBridge git-svn组合方面取得了一些成功。请参阅here。
最后,也许GitSharp可以更容易地为这个问题开发一个有用的解决方案?不是因为GitSharp与TFS本身有任何关系,而仅仅是因为它向gt自动化公开了.NET开发人员。
答案 0 :(得分:9)
开源项目Git-tfs(不要与Git-tf混淆):
答案 1 :(得分:3)
Microsoft终于released拥有自己的网桥解决方案:Git-TF。它使用Java,因此适用于Windows,OSX和Linux。
编辑:截至2013-01-30,微软正在announcing进一步整合TFS和Git,以准确应对您的情况。它将通过更新2012版TFS和Visual Studio提供。
答案 2 :(得分:1)
使用上级版本控制系统不仅会对您产生积极影响;它会对整个团队产生积极影响。可能会有阻力开始,但从长远来看,你看到的好处很可能会被团队的其他成员看到。
提出一个简单的建议,将您的“TFS商店”转换为新内容。除了你自己,你会发现三种人:
前两个是你想要密切关注的人,无论你是否同意。最后一类人不仅对整个团队产生负面影响,而且也是你应该与自己保持距离的人。
免责声明:我知道这不会直接回答这个问题,但我认为只要您认为技术变更有必要,这是一个很好的方法。
除了:每当您发现自己称自己的团队为“TFS商店”,“Java商店”,“Windows商店”等时,您的头脑中就会发出警报。这是一个巨大的红旗。不同的技术适用于不同类型的任务,而团队合作也是有害的。
答案 3 :(得分:1)
我和Jim Deville一起工作了“TFGit”工具,该工具连接了TFS和Git(实际上我开始了这个项目)。它高度自动化,保留作者,日期信息和历史记录。它最大的弱点在于,虽然它允许git devs使用分支到它们的内容,但它只能与TFS端的一个分支同步。然而,这是一个相当轻松的工具,吉姆和我经常使用它。
它目前是我们公司的内部工具,我们尚未调查将其公之于众。如果对它有浓厚的兴趣,我们可以调查这样做。