Я пытаюсь закодировать условие, чтобы проверить, есть ли в репозитории git определенная ветвь. Если нет, то создайте эту ветку.
Я знаю, что для этого можно использовать следующие команды через командную строку:
git branch
git checkout etc..
Но мне было интересно, есть ли какие-либо расширения командной строки Azure для этого?
Вы можете попробовать репозиторий az ref list . Используйте параметр фильтра для поиска таких веток, как «головы/ваш_путь» (пример в документации rest API)
Пример:
az devops login --org "https://dev.azure.com/<your_org>"
Token:
az repos ref list --org "https://dev.azure.com/your_org" -p TeamProject -r RepoName --filter heads/
[
{
"creator": {
"descriptor": "------",
"directoryAlias": null,
"displayName": "------",
"id": "0f98bf70-30c3----",
"imageUrl": "----",
"inactive": null,
"isAadIdentity": null,
"isContainer": null,
"isDeletedInOrigin": null,
"profileUrl": null,
"uniqueName": "-------",
"url": "-------"
},
"isLocked": null,
"isLockedBy": null,
"name": "refs/heads/dev",
"objectId": "4734085d73703e88ae39-----",
"peeledObjectId": null,
"statuses": null,
"url": "-----"
},
@Rishabh, чтобы создать ветку, вы должны знать идентификатор базового объекта. В качестве примера создайте новую ветку на основе master. Найдите основную ветку с az repos ref list
и фильтром heads/master
. Затем используйте az repos ref create
с новым именем (например, «heads/dev2») и objectId
из ветки master.
Большое спасибо.
Я создаю репозиторий git в ADO с помощью команды «az repos create» и пытаюсь прочитать идентификатор базового объекта. Но он не существует, пока не существует основная ветвь. Как мне создать репо и в то же время инициализировать его с помощью README.md или чего-то еще? Можно ли это сделать без git add, commit и push?
Rest API пытается создать первоначальные коммиты с помощью push-уведомлений: learn.microsoft.com/en-us/rest/api/azure/devops/git/pushes/… . Но его нет в az cli. Попробуйте установить идентификатор объекта с «00000000000000000000000000000000000000000», как в примере с остальным API.
Спасибо. Это действительно помогает. Я могу получить имена веток, используя это. Вы не знаете, могу ли я создать новую ветку, используя это? Например: я вижу эту команду. создать ссылку на репозитории az. Я не эксперт по git, и я не понимаю, что такое refs/heads/ перед названием ветки. Должен ли я по-прежнему предоставлять refs/heads при создании ветки? Можете ли вы привести пример и для этого? Спасибо