使用Visual Studio Online通过提交ID获取GIT repo ID

时间:2015-01-26 08:53:04

标签: git tfs azure-devops

是否可以在Visual Studio Online中使用GIT获取有关提交所在的存储库的信息?

使用Visual Studio Online REST API我可以获得有关某个提交的信息,但我总是需要知道它所在的存储库。

https://myCompany.visualstudio.com/DefaultCollection/
_apis/git/repositories/{REPO-ID}/commits/{COMMIT-ID}?api-version=1.0

有没有什么办法可以通过使用提交ID以编程方式检索REPO id这样的信息? 类似的东西:

https://mycompany.visualstudio.com/DefaultCollection/
_apis/git/commits/{COMMIT-ID}?api-version=1.0

1 个答案:

答案 0 :(得分:4)

在Git中,提交哈希对历史图表是唯一的(它是加密计算的)。当您将提交从一个存储库推送到另一个存储库时,该哈希保持不变。

您可以将相同的提交(使用相同的唯一哈希)推送到多个远程存储库。这将在多个存储库中产生相同的哈希值。

这就是你需要告诉TFS提交的上下文的原因,如果你不提供它,可能会有多个结果。这是Git的分布式模型所固有的。