我需要一些有关如何一次克隆(git)TFS 2015(更新3)集合中所有项目的帮助。我在下面找到了该Powershell脚本的较新版本,并尝试将API版本从4.0更改为2.0,但随后出现错误“方法调用失败,因为[System.Management.Automation.PSCustomObject]不包含名为' ForEach'。“
无法在TFS 2015 API中找到如何进行此克隆的示例或执行任何其他方法的麻烦。
$collection = "http://myserver:8080/tfs/DefaultCollection"
$projectsUrl = "$collection/_apis/projects?api-version=4.0"
$projects = Invoke-RestMethod -Uri $projectsUrl -Method Get -UseDefaultCredentials -ContentType application/json
$projects.value.ForEach({
$reposUrl = "$collectionurl/$($_.name)/_apis/git/repositories?api-version=4.0"
$repos = Invoke-RestMethod -Uri $reposUrl -Method Get -UseDefaultCredentials -ContentType application/json
$repos.value.ForEach({
git clone $_.remoteUrl --branch master --single-branch
})
})
创建新的仓库
克隆它:git clone <url>
(和该回购中的CD)
git submodule add <project repo url>
。对所有存储库重复此操作。git clone <url> --recurse-submodules
或分两步(git提供了很大的灵活性):
git clone <url>
git submodule update --init --recursive