Gcloud source репозиторий пытается передать локально на удаленный компьютер, а команда использует неверное имя пользователя / учетные данные - PullRequest
0 голосов
/ 30 июня 2018

У меня есть локальное git-репо, которое я пытаюсь отправить в исходное репозиторий Gcloud, который я создал. Кажется, все в порядке, за исключением случаев, когда я пытаюсь нажать, я получаю:

fatal: remote error: Access denied to email1@example.com

Я прошел через эти шаги , чтобы заставить gcloud использовать правильные учетные данные git, но безрезультатно. В настоящее время у меня есть 2 конфигурации gcloud на моем компьютере, и я установил активную вторую конфигурацию. Тем не менее, при запуске git push google master для отправки в репозиторий gcloud всегда будет пытаться использовать email1 для конфигурации 1. Я хочу использовать email2 для конфигурации 2 - активной конфигурации - но я не могу понять, как и не могу найти никаких документов на нем.

Любая помощь приветствуется!

Ответы [ 4 ]

0 голосов
/ 11 февраля 2019

Я столкнулся с похожим поведением, и проблема в моем случае была вызвана файлом ~/.gitcookies, содержащим сохраненные учетные данные для "email1@example.com"

После редактирования / удаления этого файла git запустился корректно с помощью помощника по учетным данным gcloud.

0 голосов
/ 01 июля 2018

Первое, что я хотел бы проверить, было бы разрешение на IAM в облаке Google для пользователя, пытающегося написать в GCR. Для записи в Google Cloud Repository (GCR) вам необходимо иметь правильные разрешения, назначенные до записи в хранилище. Когда вы используете gcloud sdk, учетные данные пользователя должны совпадать с учетными данными в IAM, иначе вы увидите много сообщений об отказе в разрешении.

Если вы не можете использовать интерфейс gcloud для доступа к GCR, то вы можете протестировать взаимодействие с помощью интерфейса облачной оболочки, который будет иметь доступ к вашей учетной записи службы для вашего проекта. Лично я бы рекомендовал использовать облачную оболочку в большинстве случаев вместо подключения через gcloud SDK.

0 голосов
/ 02 июля 2018

При запуске

$ gcloud source repos clone hello-world

в текущей конфигурации gcloud установит помощнику учетных данных git, чтобы он всегда указывал на ту же учетную запись, с которой был клонирован репозиторий. Вы можете увидеть это с

$ git config -l

credential.helper=!gcloud.cmd auth git-helper --account=email1@example.com --ignore-unknown $@

Таким образом, последующее переключение gcloud конфигураций или установка новой gcloud учетной записи не изменит способ аутентификации этого репо.

Я не уверен, почему вы хотите клонировать репо с помощью email1, а затем перейти к нему с помощью email2.

Вы всегда можете изменить это, запустив

$ git config credential.helper \
  '!gcloud.cmd auth git-helper --account=email2@example.com --ignore-unknown $@'

Если вы хотите по какой-то причине всегда использовать активную конфигурацию, просто опустите --account при настройке помощника по учетным данным.

0 голосов
/ 01 июля 2018

gcloud source repos clone клонирует репозиторий git из текущего активного проекта Google Cloud в указанный каталог или в текущий каталог, если целевой каталог не указан.
Операция клонирования настраивает локальный клон на использование ваших учетных данных gcloud для аутентификации будущих операций git.

Это должен быть https URL, что означает, что есть помощник по учетным данным, который кэширует учетные данные (имя пользователя / пароль)

В своем клонированном репозитории введите:

git config credential.helper

Если это не git-credential-gcloud.cmd (как в этом выпуске ) или если git-credential-gcloud.cmd отсутствует в вашем %PATH% (where git-credential-gcloud.cmd должен возвращать путь), он не будет работать.
Примечание: теперь помощник по учетным данным может называться просто gcloud.cmd

git config credential.https://source.developers.google.com.helper

Если у вас нет доступа к gcloud.cmd, вам необходимо создать статические учетные данные .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...