#git #azure #azure-devops #git-reflog
#git #azure #azure-devops #git-рефлог
Вопрос:
Одна из наших ссылок была перемещена в коммит, где ее не должно быть, предположительно потому, что кто-то выполнил слияние в неправильном направлении или что-то в этом роде.
Чтобы разобраться в этом (посмотреть, что на самом деле произошло), было бы очень полезно просмотреть рефлог для этой ссылки, но из самого облачного репозитория devops, а не показывать его для локального репозитория какого-либо конкретного разработчика.
Есть ли какой-либо способ получить рефлог из облачного репозитория Azure devops?
Я понимаю, что нет команды git, которую можно выполнить на компьютере разработчика, которая может получить ее для удаленного / облачного репозитория. Я также обнаружил, что Azure devops предлагает git api, но для ссылок все, что я могу найти, это вызовы для перечисления ссылок, изменения / создания / удаления ссылок и блокировки / разблокировки ссылок.
Ответ №1:
Как насчет встроенного просмотра истории в репозитории Azure devops? Мы можем просмотреть все слияния в нем.
Обновить:
Вы можете добавить задачу powershell в конвейер, выполнить git checkout master
и git reflog show --all
команды для получения рефлога.
Комментарии:
1. К сожалению, он просто показывает историю фиксации. Если у меня есть ветвь A и вывести оттуда ветку B. Затем сделайте коммиты для B, а затем объедините B с A, слияние просто перемотает A к последнему коммиту B. Не будет никаких записей об этой операции, о том, кто это сделал или когда это произошло, и, что наиболее важно, нет способа увидеть, куда указывал A перед этим (вероятно, это то, на что его следует сбросить). Все, что я вижу, это историю коммитов и что A и B указывают на один и тот же коммит.
2. Вы можете добавить задачу powershell в конвейер, выполнить
git checkout master
иgit reflog show --all
команды для получения рефлога.3. О, так задача powershell имеет доступ к облачному репозиторию git? Интересно. Стоило бы попробовать. К сожалению, я уже выбрал подход «квалифицированного предположения», поэтому на данный момент я оставил актуальную проблему позади. Будем иметь это в виду для будущих нужд. Спасибо! (Я обязательно отмечу это как правильный ответ, когда попробую).
4. С нетерпением жду результатов вашего теста. 🙂