使用Powershell从远程git存储库下载源

时间:2018-07-04 09:04:02

标签: git powershell automation

基本上,我想做的是从我在Visual Studio TFS 2015中托管的git存储库中下载所有源代码。使用Powershell脚本。

最终目标是开发一个自动化的系统,该自动化系统随后将提取该代码,对其进行一些处理,然后将其推送到另一台服务器。

到目前为止,我所知道的唯一获得代码的方法是对系统进行身份验证,然后对存储库进行val es = spark.read.format("org.elasticsearch.spark.sql") .option("es.read.field.as.array.include","arrayField,arrayField.innerArray:2") .option("es.query", "someQuery") .load("Index/Document") |-- arrayField: array (nullable = true) | |-- element: struct (containsNull = true) | | |-- field1: long (nullable = true) | | |-- field2: float (nullable = true) | | |-- id: string (nullable = true) | | |-- innerArray: array (nullable = true) | | | |-- element: array (containsNull = true) | | | | |-- element: float (containsNull = true) |-- currentTime: long (nullable = true) |-- meanError: float (nullable = true) |-- someField: string (nullable = true) +--------------------+-------------+---------+---------+ | arrayField| currentTime|meanError|someField| +--------------------+-------------+---------+---------+ |[[14,20.238714,00...|1516211640000| 0.3082|someValue| +--------------------+-------------+---------+---------+ 认证。另一方面,首先我真的不需要git的依赖,因为我只想要文件,其次,我不想从概念上克隆存储库。

总而言之,对于如何实现这一目标的任何见解都将受到赞赏!

1 个答案:

答案 0 :(得分:2)

要获取存储在TFS中Git存储库中的文件,请使用items API。

此API的格式如下:

https://{instance}/{project}defaultcollection/_apis/git/repositories/{repository}/items?api-version={version}&scopepath={filepath}[&includecontentmetadata={bool}&lastprocessedchange={bool}]

此API(带有变量替换)的真实示例如下:

https:/mytfs:8080/defaultcollection/MyProject/_apis/git/repositories/MyRepo/items?api-version=1.0&scopepath=ReadMe.md

在上面的示例中,我尝试从名为MyProject的项目中名为MyRepo的Git存储库中下载名为ReadMe.md的文件。

您可以使用Invoke-RestMethod Powershell方法获取结果。