#azure-devops #git-fork
#azure-devops #git-fork
Вопрос:
Я работаю над репозиторием в моем проекте Azure DevOps, который является разветвленным из какого-либо другого проекта Azure DevOps. Я хотел бы знать источник (исходное хранилище, из которого выполняется разветвление).
Дайте мне знать, как я могу получить эту информацию.
Ответ №1:
Я не знаю, что это отображается в пользовательском интерфейсе, но есть по крайней мере два других способа получить информацию о вышестоящем (родительском) репозитории
Вариант 1. используйте Rest API
В GET
https://dev.azure.com/{organization}}/{{project}}/_apis/git/repositories/{{forkname}}?includeParent=trueamp;api-version=6.0
ответном сообщении будет вызываться поле parentRepository
, содержащее сведения о вышестоящем репозитории
...
"parentRepository": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "myrepo",
"isFork": false,
"url": "https://dev.azure.com/myorg/_apis/git/repositories/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"remoteUrl": "https://myorg@dev.azure.com/myorg/myproject/_git/myproject",
"sshUrl": "git@ssh.dev.azure.com:v3/myorg/myproject/myproject",
"project": {
"id": "yyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"name": "myproject",
"url": "https://dev.azure.com/myorg/_apis/projects/zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz",
"state": "unchanged",
"visibility": "unchanged",
"lastUpdateTime": "0001-01-01T00:00:00"
},
"collection": null
}
...
Вариант 2: клонируйте репозиторий и проверьте сообщение сервера
При клонировании разветвленного репозитория из репозиториев Azure DevOps сервер отправляет следующее сообщение (видимое с помощью стандартного клиента командной строки git)
Cloning into 'myfork'...
Password for 'https://danielorn@dev.azure.com':
remote: Azure Repos
remote: This repository is a fork. Learn more at https://aka.ms/whatisafork.
remote: To add its upstream as a remote, run:
remote: git remote add upstream https://myorg@dev.azure.com/myorg/myproject/_git/myrepo
remote:
remote: Found 9 objects to send. (67 ms)
Unpacking objects: 100% (9/9), 1.78 KiB | 6.00 KiB/s, done.
Из этого сообщения вы можете найти исходный репозиторий, просмотрев предложенный восходящий удаленный:
git remote add upstream https://myorg@dev.azure.com/myorg/myproject/_git/myrepo
Другими словами, вызывается исходное репозиторий fork myrepo
и находится myproject
внутри myorganization
.
Комментарии:
1. Большое спасибо. Я попробую это.