git pu sh ОШИБКА: разрешение на <repo>отклонено на <user> - PullRequest
1 голос
/ 13 марта 2020

Один месяц go Я настроил две учетные записи github на своей ма c: одну учетную запись для работы и другую для личного использования. Я использую оба в течение месяца без проблем. В день совершения / подталкивания / et c к репо с работы. Ночью совершаю / толкаю / et c в пару личных репо. Внезапно, сегодня я не смог сделать некоторые изменения в моем личном кабинете sh, ошибка:

git push --set-upstream origin <branch>
ERROR: Permission to <repo>.git denied to <work-account>.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Я не знаю, почему команда git pu sh пытается pu sh используя мою рабочую учетную запись!?!?!?

Мои предыдущие изменения и pu sh в этом репо были 7 дней go с моей личной учетной записью (без проблем). Я ничего не менял в своей конфигурации (файлы s sh, .git / config и т. Д. c.)!

Я пытался сделать это в каталоге репозитория:

git config user.email
git config user.name

Электронная почта - это моя личная электронная почта, поэтому это правильно.

Почему git использует мою рабочую учетную запись? Даже если команда git config отобразит мою личную учетную запись? Кроме того, это работало несколько дней go ...

Примечание 2:

  • У меня есть обе учетные записи, определенные в каталоге ~ / .s sh: id_rsa, id_rsa .pub, id_rsa_, id_rsa_.pub.
  • ~ / .ssh / config также определен:
Host github.com
  Hostname github.com
  User git
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Host <githubpersonal>
  Hostname github.com
  User git
  IdentityFile ~/.ssh/id_rsa_<personal_account>
  • удаленный источник репо Я думаю, это хорошо определено:
[remote "origin"]
    url = git@<githubpersonal>:<personal_account>/<repo>.git
    fetch = +refs/heads/*:refs/remotes/origin/*
  • если я запускаю git remote -v, я получаю:
origin  git@<githubpersonal>:<personal_account>/<repo>.git (fetch)
origin  git@<githubpersonal>:<personal_account>/<repo>.git (push)

Я не знаю, почему больше не работает .. .

1 Ответ

0 голосов
/ 13 марта 2020

Проверьте ваш конфигурационный файл на наличие любой конфигурации pushURL, чтобы проверить, пытается ли он, и pu sh, используя URL, который вы не ожидаете.

Примечание: URL-адрес S SH, который вы можете проверить, равен githubpersonal, а не git@githubpersonal, поскольку git уже указано в ~/.ssh/config

ssh -Tv githubpersonal
...