tech-tips/Программное обеспечение/Версионирование кода/git/Pull из Gitlab через https при включенной 2ФА.md

1.7 KiB
Raw Blame History

tags
git
git-rebase

Исходные данные

В корпоративном #Gitlab есть репозиторий.

В настройках аккаунта включена 2-факторная аутентификация.

origin локального репозитория задан через https://.

Нужно вытянуть свежие изменения из origin в локальный реп.

Ситуация

При выполнении git pull после ввода логина и пароля возникает ошибка:

Username for '<https://git.example.com>': %логин%
Password for '<https://user@git.example.com>': %пароль%
remote: HTTP Basic: Access denied
remote: You must use a personal access token with 'read_repository' or 'write_repository' scope for Git over HTTP.
remote: You can generate one at <https://git.example.com/profile/personal_access_tokens>
fatal: Authentication failed for '<https://git.example.com/%репозиторий%>'

Причина

При включенной #2FA нельзя напрямую использовать пароль, вместо этого придуманы личные токены доступа (Personal access tokens), все манипуляции должны происходить с его помощью.

Решение

  1. Создать токен, выставить права read_repository и/или write_repository
  2. Для аутентификации нужно вместо пароля вводить этот токен как он есть:
Username for '<https://git.example.com>': user
Password for '<https://user@git.example.com>': %токен%
...