Как прочитать из репозитория BitBucket файл не вводя руками учётные данные и не засоряя текущий проект?
Надо прочитать определённый файл в определённой ветке определённого репозитория. Как git show, только по полному пути.
Суть: пишу скриптик для себя, упрощающий жизнь.
В системе прописаны глобальные учётки, потому команды git выполняются без спроса.
В отдельных репозиториях хранятся всякие конфиги, которые я и хочу получить в свой скрипт.
Можно просто клонировать всё, но это оверхед и медленно.
Можно запросить через вэб с указанием apiKey или через ssh, но тут надо прописывать энтот самый apiKey или сами учётки руками.
Придётся указывать каталог, а не файл, и ref_name должен указывать ветку/тэг/commit, и файл в каталоге должен быть один, иначе будет выведено содержимое всех. Но некоторые задачи таким образом можно решать.
Запомните, все команды гита работают только с локальным репозиторием, для которого не нужны никакие учетки. Это просто папка на локальном компьютере, которая доступна без паролей.
Учетки возникают только когда вы синхронизируете локальный репозиторий с внешними и тут сам гит в процессе авторизации не участвует. И в любом случае на компе должен быть уже заранее клонированный внешний репозиторий, чтобы работали команды вытаскивающие ваш файл. Напрямую обратиться к внешнему репо вы не сможете.
Другое дело что у Bitbucket/GitHub/GitLab есть API, позволяющие вытаскивать информацию через него. И если эти API требуют авторизации, то вы наверное не сможете без авторизации обойтись. Это тоже к самому гиту не имеет отношения. Тут вы работаете лишь с API этих сайтов.
Да понятно что это не штатный способ использования. Просто всё упирается в то, что тот же git clone цепляет учётки из credential manager'а, и соответственно хочется как-то этот факт использовать пускай даже через зад. Была бы возможность как-то выцарапать эти учётки для обычных http запросов к api - тоже хорошо было бы, но секурность же.)