Как я могу изменить пользователя на 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 в любом случае использует электронную почту для получения имени пользователя и аватара и использует имя только в том случае, если электронная почта недействительна.