是否可以通过 api 获取提交更改(仅差异)?

Is it possible to fetch commit changes (diff only) via api?

我正在尝试通过 api 提取提交更改,我得到的只是文件本身的路径,就像在整个文件中一样。
我想要实现的是查看每次提交的单个文件的更改(仅差异)。

例如: 如果我使用 Github 查询相同的内容,我会得到这样的差异:
"@@ -1 +0,0 @@\n- console.log(\"Blasting!\")"

Azure-devops中有类似的解决方案吗?
谢谢!

What I want to achieve is to see the changes (diff only) for a single file per commit.

没有现有的 Rest API 可以满足您的需求。但是你可以参考下面的步骤来获取git diff.

的内容

第 1 步:您可以使用 Rest API 到 get the commit id

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.0

第 2 步:您可以使用 Rest API 到 get the commit by commit id

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=5.0

在RestAPIResult中,需要记录parentsid的值。

第 3 步:您可以使用 Rest API 获取文件路径。

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes?api-version=6.0

第四步:您可以使用以下API获取diff内容。

Post https://dev.azure.com/Organization/Project /_api/_versioncontrol/fileDiff?__v=5&diffParameters={value}&repositoryId={repositoryid}

{value} 是 Json 类型。

这是一个例子:

{"originalPath":"filepath","originalVersion":"Parentsid","modifiedPath":"filepath","modifiedVersion":"commitid","partialDiff":true,"includeCharDiffs":true}

您可以将值添加到 API URL。

然后运行 API 结果将包含 git diff 内容。 (2表示删除,1表示添加)

这是一个结果示例:

这里是the ticket,你可以参考一下