我想看看TFS如何为我的命令工作。所以我想将我们当前的GIT存储库移至TFS数据库。我们使用GIT支持分支支持,所以我想用TFS 2010解决这个问题。Git到TFS源代码管理迁移
现在的问题是。我如何将我们的GIT仓库出口到TFS。显然它是某种脚本。有没有人做到这一点?有什么建议么?
谢谢。
我想看看TFS如何为我的命令工作。所以我想将我们当前的GIT存储库移至TFS数据库。我们使用GIT支持分支支持,所以我想用TFS 2010解决这个问题。Git到TFS源代码管理迁移
现在的问题是。我如何将我们的GIT仓库出口到TFS。显然它是某种脚本。有没有人做到这一点?有什么建议么?
谢谢。
微软已经发布了自己的GIT < - > TFS扩展GIT:GIT-TF
这允许拉从TFS一个新的Git仓库或配置,让GIT到TFS推,这是你想要做什么:
(从文件)
对于一个团队与现有的Git回购工作,使用Git-TF开发者共享 更改TFS将使用以下工作流程。
# Configure the existing repo's relationship with TFS
git tf configure http://myserver:8080/tfs $/TeamProjectA/Main
# Fetch the latest changes from TFS and merge those
# changes with the local changes.
# Note, merging is important when working in a team configuration.
# See "Rebase vs. Merge" below.
git tf pull
git commit -a -m "merge commit"
# Check in the merge commit as a single TFS changeset
git tf checkin
# Push the merge commit to the origin
git push
此外,已有的开源GIT-TFS解决方案都可以使用(从Windows只,微软的解决方案使用Java和跨平台),在回答Git to TFS 2008 one way migration (with history)
该解决方案仅适用于没有分支机构的情况。如果您有分支机构,更好的解决方案是使用TFS2013(Git) – Philippe
您可以将git导出到svn,并使用CS Converter从svn转到TFVS。注 - CS Converter已停用,但看起来您仍然可以下载它。
设置一个SVNBridge到TFS,然后使用git-svn clone。
这是git svn update,但您是对的。我已经完成了这件事。 –
我没有在[Git文档](http://git-scm.com/docs/git-svn)中看到'git svn update'命令,尽管我找到了'git svn dcommit',其中“将当前分支中的每个diff直接提交到SVN仓库,然后重新设置[s]或重置[s](取决于SVN和head之间是否存在差异)。这将在SVN中创建一个修订版本为每个提交git。“所以如果这应该是一回事? – 2012-08-07 17:11:19
我创建了一个快速批处理文件,但是你需要有团队基础电动工具(tfpt.exe)在你的路径和(命令行loop命令)
Visual Studio的命令行到你想要的git的文件夹并运行以下内容。
git log --pretty="'%%H',%%ci - %%s" --reverse > commits
tf workspace temp /new /s:http://{TfsInstance} /i
tf workfold /map %2 . /workspace:temp
FOR /F "tokens=1* delims=','" %%a IN (commits) DO git checkout %%a && tfpt online /recursive /exclude:.git*,commits,*.obj,*.exe,_ReSharper*,obj,debug,*.user,*.suo,Bin /adds /deletes /i && tf checkin /author:"{AuthorName}" /comment:"%%b" /i
tf workspace temp /delete /i
{TtsInstance}
。{AuthorName}
)注释将包括git的时间戳(很遗憾,如果不更改TFS服务器的时间,则无法更改签入时间我会建议反对的)和原作者的名字T他的工作还行,但分支机构不会被保存。我没有花时间去分析,因为当时对于这项工作来说这不是一个足够大的因素。
希望这可以节省一些人一些时间!现在
我将'Thumbs.db'添加到** tfpt **排除列表中。我从git历史记录中删除了它,因为它在我包含_.gitignore_文件之前被意外添加,并且在运行'.bat'文件时收到错误。 –
这是描述一个古老的问题,也许没有人在寻找这个东西,但现在变得更加容易了。
为源代码控制
抓住Git的网址为项目使用Git创建TFS团队项目。它会看起来像... https://YOURPROJECTS.visualstudio.com/DefaultCollection/_git/PROJECTNAME
放入类似的命令并执行。
git的远程添加原产https://YOURPROJECTS.visualstudio.com/DefaultCollection/_git/PROJECTNAME
混帐推-u起源--all
应该是你所需要的。
并不真正有用,因为在使用TFS托管的GIT时,您不会获得像您一样可以随意使用的全套控件一个完整的TFS管理的项目。 –
为什么地狱会有人从git移动到tfs? – hasen
两个字:更好的工具。我知道git有很多炒作。而Torwalds先生自己写了一批它,但与这件事SUCKS交互。 我已经使用了19个月了,我已经将它介绍给了团队,我不认为它是一颗银弹。所有的UI工具都是蹩脚的。命令行界面很详细。我有一套脚本来支持我的工作流程,但这不是我为之骄傲的解决方案。 加上TFS不仅仅是源代码控制。这是一个复杂的解决方案:bug跟踪器,构建系统,VS集成,SP开发人员无法观察流程并提交错误等。 –
Git扩展https://code.google.com/p/gitextensions/正在迅速制作Artem的评论已过时。比捆绑的UI更好的UI。 –