我在TFS ()中有一个代码存储库。我可以使用git-tfs将其转换为git存储库。
但是我想做的是建立一个中央的git,它推动TFS,让所有的开发人员克隆这个git,而不能推到TFS。至于任何“下游”从中央回购。,我不想有任何迹象,有一个TFS回购在任何。
由于TFS服务器信息包含在git-tfs生成的回购中,我如何做到这一点?
发布于 2012-03-29 13:17:03
有几个问题需要解决,这样才能奏效。最突出的是将git用户映射到TFS凭据,这些凭据将在签入回TFS更改时使用。
其他麻烦的事情是可能与其他TFS用户发生冲突(也就是说,如果有人决定直接将事情推送给TFS )。
这就是为什么它没有作为git的一部分开发的原因,我相信(至少这就是几个月前我没有添加这个特性的原因)。
如果您可以在纯文本文件中使用TFS登录/密码对,并且可以确保没有冲突的工作流(例如,禁止以任何其他方式向TFS签入,除非通过git中央存储库),则可以使用提交钩子或甚至使用简单的调度器实现所需的内容(因此推送将不是即时的,而是延迟的和异步的,从而大大加快到git中央存储库的速度)。
实际的脚本应该很简单,但是还没有人费心去写(至少我不知道这样的事情)。
发布于 2013-06-04 13:41:15
首先,使用--no-metadata标志从提交中删除TFS元数据。然后使用--authors="path-to-authors.txt"标志将您的TFS用户映射到当前。
git tfs clone http://tfs:8080/tfs/DefaultCollection $/Project1 --authors="c:\project1\authors.txt" --no-metadata在您的authors.txt中,将用户TFS id映射到他们的电子邮件中,如下所示:
TFSDOMAIN\peter.pan = Peter Pan <peter.pan@disney.com>克隆repo之后,运行git tfs bootstrap并删除.git/config文件中的TFS配置。您现在不应该能够签入TFS,但仍然能够在您的开发人员之间共享回购。
关于git tfs clone https://github.com/git-tfs/git-tfs/blob/master/doc/commands/clone.md的更多细节
https://stackoverflow.com/questions/8936130
复制相似问题