Подтвердить что ты не робот

Как я могу нажать на GitHub под другим именем?

Друг и я поделились своим компьютером. Я сделал нажатие на GitHub, используя оболочку git bash в Windows 7. Теперь мы находимся в другом проекте на этом компьютере, и мне нужно, чтобы она нажала на ее учетную запись. Но он пытается использовать мое имя пользователя и сказать, что у меня нет доступа к ее репозиторию:

$ git push her_github_repository our_branch
ERROR: Permission to her_username/repository.git denied to my_username.
fatal: The remote end hung up unexpectedly
4b9b3361

Ответ 1

Если вы используете другого пользователя Windows, ваш SSH-ключ и настройки git будут независимыми.

Если это не вариант для вас, тогда ваш друг должен добавить ваш SSH-ключ в свою учетную запись Github.

Хотя предыдущее решение будет держать вас как самого себя, но оно позволит вам войти в ее репо. Если вы не хотите этого и работаете в другой папке на одном компьютере, вы можете настроить имя пользователя и адрес электронной почты локально в папке с помощью git, удалив флаг -g команды config:

git config user.name her_username
git config user.email her_email

Кроме того, если вы нажмете на протокол https, Github будет запрашивать имя пользователя/пароль каждый раз (если вы не используете менеджер паролей).

Ответ 2

Это сработало для меня, он будет запрашивать имя пользователя и пароль

git config --local credential.helper ""
git push origin master

Ответ 3

Я настраиваю псевдоним ssh с помощью пользовательского IdentityFile и переписывал источник, чтобы использовать свое собственное имя хоста me-github.

#when prompted enter `id_rsa_user1` as filename
ssh-keygen -t rsa

# ~/.ssh/config
Host user1-github
HostName github.com
Port 22
User git
IdentityFile ~/.ssh/id_rsa_user1

#check original remote origin url
git remote -v
origin [email protected]:user1/my-repo.git

#change it to use your custom `user1-github` hostname
git remote rm origin
git remote add origin [email protected]:user1/my-repo.git

Ответ 4

Вы можете нажать с использованием другой учетной записи. Например, если ваша учетная запись - A, которая хранится в .gitconfig, и вы хотите использовать учетную запись B, которая является владельцем репо, который вы хотите открыть.

Аккаунт B: B_user_name, B_password
Пример ссылки SSH: https://github.com/B_user_name/project.git

Пуш с учетной записью B:

$ git push https://'B_user_name':'B_password'@github.com/B_user_name/project.git

Чтобы увидеть учетную запись в .gitconfig

  1. $git config --global --list
  2. $git config --global -e (также для изменения учетной записи)

Ответ 5

Если после запуска git push Git запрашивается пароль user, но вы хотите нажать как new_user, вы можете использовать git config remote.origin.url:

$ git push
[email protected]:either/branch/or/path password:
^C
$ git config remote.origin.url
[email protected]:either/branch/or/path

$ git config remote.origin.url [email protected]:either/branch/or/path

$ git push
[email protected]:either/branch/or/path password:

Ответ 6

Если вы используете URL-адрес SSH ([email protected]:username/projectname.git), а не URL-адрес HTTPS, вы можете временно указать другой SSH-ключ, используя переменную среды $GIT_SSH_COMMAND:

$ GIT_SSH_COMMAND="ssh -i different_private_key" git push

Насколько я могу судить по URL-адресам SSH, GitHub не заботится о именах пользователей, а только о ключах: если учетная запись пользователя имеет доступ к репозиторию, и эта учетная запись имеет ключ SSH (см. страница с ключами SSH в настройках учетной записи), то, если вы используете этот SSH-ключ для нажатия в этот репозиторий, то push будет обрабатываться как исходящий от этого пользователя.

Ответ 8

если это ваша проблема

remote: Permission to username1/repo.git denied to username2.
fatal: unable to access 'https://github.com/username1/repo.git/':
The requested URL returned error: 403

В дополнение к изменению имени пользователя и электронной почты с терминала с помощью git config:

$ git config --global user.name "Bob"
$ git config --global user.email "[email protected]"

вам нужно удалить информацию авторизации из Keychain. Это решение заняло у меня несколько часов, чтобы понять. Я обнаружил, что у меня также был сертификат в моей брелка.

Откройте доступ к Keychain, нажмите "Все элементы" и выполните поиск git. Удалить все keychain

Ответ 9

Перейдите в Диспетчер учетных данных Перейдите в учетные данные Windows Удаление записей в разделе Общие учетные данные Повторите попытку подключения.

Ответ 10

Как упоминалось ранее, вы можете использовать

git config user.name her_username
git config user.email her_email

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

git commit --amend --reset-author

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

Ответ 12

git config user.name изменяет только имя, которое я совершаю. Я все еще не могу толкнуть. Вот как я решил это, и я думаю, что это простой способ для меня.

Теперь вы можете использовать этот пользователь для этого репо.

Ответ 13

Если под Windows и пользователем Git для Windows и manager для управления учетными данными (он же Git-Credential-Manager-for-Windows Link), проблема заключается в том, что нет простого способа переключения между пользователями при переходе на GitHub через https с использованием токенов OAuth,

Причина в том, что токен хранится как:

  • Интернет-адрес: git:https://github.com
  • Имя пользователя: Personal Access Token
  • Пароль: OAuth_Token

Вариации URL в Internet Address адресе не работают, например:

Решение: пространства имен. Это можно найти в деталях конфигурации Git-Credential-Manager-for-Windows:

Цитирую из этого:

Пространство имен

Устанавливает пространство имен для сохраненных учетных данных.

По умолчанию GCM использует пространство имен "git" для всех сохраненных учетных данных, установка этого значения конфигурации позволяет управлять пространством имен, используемым глобально или для каждого хоста.

git config --global credential.namespace name

Теперь сохраните свои учетные данные в диспетчере учетных данных Windows как:

  • Интернет-адрес: имя пользователя git.username:https://github.com
  • Имя пользователя: Personal Access Token
  • Пароль: OAuth_Token

Обратите внимание, что мы изменили: gitgit.username (где вы изменяете username на свое действительное имя пользователя или ради него на любой другой, который вы хотите использовать в качестве уникального идентификатора)

Теперь внутри репозитория, в котором вы хотите использовать конкретную запись, выполните:

git config credential.namespace git.username

(Опять же... замените username на желаемое значение)

Ваш .git/config теперь будет содержать:

[credential]
    namespace = git.username

И вуаля! Правильные учетные данные будут извлечены из хранилища учетных данных Windows.

Это, конечно, не меняет, какой пользователь/электронная почта подталкивает. Для этого вам нужно настроить обычные user.name и user.email

Ответ 14

Вы можете добавить новый удаленный URL для другого имени пользователя, используя git remote add origin-username https://[email protected]/repository_name.git

После этого, если вы нажмете, используя git push -u origin-username master, вам будет git push -u origin-username master пароль.

Ответ 15

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

  1. Создать новый SSH-ключ ssh-keygen -t rsa -C "[email protected]"
  2. Сохраните его, но не забывайте переопределять существующий id_rsa. Дайте ему другое имя, например, id_rsa_another
  3. Скопируйте содержимое ключа в свою учетную запись GitHub:

Настройки → Ключи SSH и GPG → Новый ключ SSH → Дайте метку и вставьте ключ → Добавить ключ SSH

  1. Добавьте ключ к агенту ssh: ssh-add ~/.ssh/id_rsa_another
  2. Настройка хоста GitHub: создайте файл конфигурации с помощью touch ~/.ssh/config и отредактируйте файл, предоставив настройки для ваших учетных записей:
#first account
Host github.com-first
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa

#another account
Host github.com-another
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_another

Теперь вы сможете получать сообщения из разных учетных записей в зависимости от того, какой ключ вы добавляете в агент ssh, т. ssh-add ~/.ssh/id_rsa Чтобы использовать свою первую учетную запись, выполните ssh-add ~/.ssh/id_rsa.

Вы также можете изменить свой электронный адрес пользователя:

git config --global user.email "[email protected]"

или очистите ssh-ключи в случае ошибки разрешения при передаче кода одной из учетных записей: ssh-add -D

Ответ 16

Идентификатор пользователя, в котором происходит фиксация, хранится в файле конфигурации.

перейдите наверх хранилища vi.git/config

измените строку URL, указанную после "[remote" origin "], чтобы получить соответствующий ID пользователя