Как я могу изменить пользователя на Git Bash?

введите описание изображения здесь

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

Что я вижу в Git Bash:

MINGW64 ~/Documents/NetBeansProjects/ConstructorJava (master)
git push -u origin/master
remote: Permission to Fre1234/ConstructorJava.git denied to Fre123.  
Fatal: unable to access https://github.com/Fre1234/ConstructorJava.git/": The requested URL returned error: 403

6 ответов

Решение

Проверь что git remote -v возвращает: учетная запись, используемая для отправки на http-URL, обычно встроена в удаленный URL-адрес.

https://Fre123@github.com/...

Если это так, укажите URL, который заставит Git запрашивать учетную запись для использования при нажатии:

git remote set-url origin https://github.com/<user>/<repo>

Или использовать учетную запись Fre1234:

git remote set-url origin https://Fre1234@github.com/<user>/<repo>

Также проверьте, установлен ли ваш Git For Windows с или без помощника по учетным данным, как в этом вопросе.


Fre1234 добавляет в комментариях:

Я наконец нашел решение.
Идти к: Control Panel -> User Accounts -> Manage your credentials -> Windows Credentials

Под Generic Credentials Есть некоторые полномочия, связанные с Github,
Нажмите на них и нажмите "Remove".

Это связано с тем, что при установке Git для Windows по умолчанию установлен https://github.com/Microsoft/Git-Credential-Manager-for-Windows.
Увидеть git config --global credential.helper вывод (это должно быть manager)

Для любой ОС

Мне это помогло, так что я положу сюда на всякий случай. После того, как вы закончите с добавлением ключей rsa для обеих учетных записей, добавьте файл конфигурации в свой.ssh каталог для обеих учетных записей (.ssh/config)

# First account
Host github.com-<FIRST_ACCOUNT_USERNAME_HERE>
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_user1

# Second account
Host github.com-<SECOND_ACCOUNT_USERNAME_HERE>   
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_user2

Убедитесь, что вы используете правильные имена пользователей и файлы RSA. Затем вы можете открыть терминал /git bash в корне репозитория и проверить, с какой учетной записи вы будете нажимать

git config user.email

Предположим, это возвращает адрес электронной почты первого пользователя, и вы хотите отправить запрос от второго пользователя. Измените местныйuser.name а также user.email:

git config user.name "SECOND_USER"
git config user.email "SECOND_USER@example.com"

(Это не изменит глобальную конфигурацию, и вы можете настроить первого пользователя как глобального пользователя). После этого вы можете подтвердить, нажавgit config user.emailи он должен вернуть электронную почту второго пользователя. Все готово для отправки на GitHub со вторым пользователем. Остальное все равно староеgit add, git commit а также git push. Чтобы нажать от первого пользователя, измените локальныйuser.nameснова и выполните те же действия. Надеюсь, это поможет:)

Для пользователей Mac

Я использую Mac и столкнулся с той же проблемой, когда пытался отправить проект из Android Studio. Причина того, что другой пользователь ранее вошел в Github, и его учетные данные были сохранены в Keychain Access.

Вам нужно удалить эти учетные данные из Keychain Access, а затем попытаться нажать.

Надеюсь, это поможет пользователям Mac.

Для пользователей Mac

Я использую Mac, и я столкнулся с той же проблемой, когда пытался запустить проект из Android Studio. Причина в том, что другой пользователь ранее входил в GitHub, и его учетные данные были сохранены в Keychain Access.

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

Если вы хотите изменить пользователя в git Bash, вам просто нужно настроить конкретного пользователя и адрес электронной почты (глобально) в git bash.

      $ git config --global user.name "abhi"
$ git config --global user.email "abhi@xyz.com"

Примечание. Не нужно удалять пользователя из Связки ключей.

ОКНА

Похоже, что здесь уже есть много решений, но я решил, что все равно поделюсь своим, который является ответом на это от user6309:

OP Fre1234 добавляет в комментариях:

Я наконец нашел решение. Перейдите в: Панель управления -> Учетные записи пользователей -> Управление учетными данными -> Учетные данные Windows.

В разделе «Общие учетные данные» есть некоторые учетные данные, связанные с Github, щелкните их и нажмите «Удалить».

Вместо того, чтобы удалять учетные данные для первой учетной записи, я просто создал новую PAT на GitHub для второй учетной записи и нажал Add a generic credential.

Затем заполнил так:

Я точно не знаю, какие разрешения ему нужны, поэтому я просто использовал их:

Теперь я могу клонировать и отправлять без проблем, но ОБЯЗАТЕЛЬНО ИЗМЕНИТЕ ВАШ ЭЛЕКТРОННУЮ ЭЛЕКТРОННУЮ ПОЧТУ НА ТУ, ИСПОЛЬЗУЕМУЮ ДЛЯ ВТОРОГО АККАУНТА . В противном случае это будет выглядеть так, как будто ваши коммиты были сделаны с вашей первой учетной записи.

      $ git config --global user.email "SECONDACCOUNT@EMAIL.COM"

я лично не заморачиваюсь менять user.name, из моих небольших экспериментов кажется, что GitHub в любом случае использует электронную почту для получения имени пользователя и аватара и использует имя только в том случае, если электронная почта недействительна.

Другие вопросы по тегам