Почему Git использует неправильную учетную запись (с osxkeychain)? - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть две учетные записи github, которые я назову ActOne и ActTwo, с электронными письмами, которые я буду называть em@one.net и em@two.net. Мне нужно отключить две учетные записи, но я не могу заставить работать другую учетную запись.

Мой текущий проект использует учетную запись ActTwo. Когда я говорю git push, я получаю это сообщение об ошибке:

remote: Permission to ActTwo/Tools.git denied to ActOne.
fatal: unable to access 'https://github.com/ActTwo/Tools.git/': The requested URL returned error: 403

Я не знаю, почему он пытается использовать ActOne вместо ActTwo. Файл .git / config моего текущего проекта выглядит следующим образом:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[remote "origin"]
        url = https://github.com/ActTwo/Tools.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[user]
        email = em@two.net
        name = ActTwo
[credential]
        helper = osxkeychain

Мой файл ~ / gitconfig выглядит так:

[color]
        ui = auto
[filter "lfs"]
        smudge = git-lfs smudge %f
        required = true
        clean = git-lfs clean %f
[credential]
        helper = osxkeychain

Раньше это было, но я удалил его в тщетной попытке решить проблему:

[user]
        email = em@one.net
        name = ActOne

Добавление:

Кажется, проблема в том, что мой помощник по учетным данным (osxkeychain) связал ActOne с URL-адресом github. Я добавил вторую запись в Keychain Access для другой учетной записи, но она не работает. И причина, по которой это не работает, заключается в том, что на вкладке «Контроль доступа» нет записи для git-credential-osxkeychain. И я не могу добавить его, потому что само приложение находится внутри моего пакета приложений xCode, и я не могу найти в KeychainAccess способ попасть внутрь пакета приложения. Это правильный подход? Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 09 ноября 2018

Я не знаю, почему он пытается использовать ActOne вместо ActTwo.

Поскольку ваш помощник по учетным данным (osxkeychain) связал ActOne с URL-адресом github.

Откройте доступ к цепочке для ключей, найдите файл, связанный с github.com->, и отредактируйте учетные данные там.
См. « Обновление учетных данных из цепочки ключей OSX ».

https://help.github.com/assets/images/help/setup/keychain-access.png

Если у вас уже есть учетные данные (которые вам нужны), связанные с этим URL-адресом HTTPS, переключитесь на URL-адрес SSH: как описано здесь , вы можете таким образом управлять несколькими учетными записями.


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

Мне пришлось многое сделать, чтобы это исправить.

  • Мне пришлось удалить записи GitHub из моей цепочки для ключей.
  • Мне пришлось установить локального пользователя GitHub и адрес электронной почты, используя git config user.email и git config user.name.
  • Мне пришлось удалить пользователя и адрес электронной почты с ~/.gitconfig.
  • Мне пришлось установить две личности в моем файле ~/.ssh/config.
  • Мне пришлось настроить пульты на использование нового идентификатора с помощью git remote --set-url.
  • И мне пришлось добавить IdentitiesOnly yes к каждой личности в файле ~/.ssh/config.
...