Как выйти из одной учетной записи Github и использовать другую учетную запись?

Я использовал другую учетную запись github, и теперь я создал свою собственную учетную запись github. С этого момента я буду использовать мою собственную учетную запись. Моя проблема в том, что мой компьютер по-прежнему регистрируется в качестве другого имени учетной записи github (хотя я зарегистрирован в своей учетной записи Github онлайн).

Я не могу ничего направить в свои собственные репозитории github, потому что у другой учетной записи нет разрешения на это, очевидно. Как я могу сказать, что мой компьютер переключается на мою собственную учетную запись, чтобы я мог нажать на мои репозиции в Github онлайн?

Ответ 1

Если вы используете OSX, откройте терминал и запустите это:

git credential-osxkeychain erase
host=github.com
protocol=https

чтобы стереть запись в цепочке ключей. Поэтому в следующий раз вам будет предложено войти в систему.

Чтобы просмотреть текущие учетные данные, используйте команду git credential-osxkeychain get, а затем дважды нажмите клавишу.

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


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

В терминале введите команду

git config --global --edit

Это откроет файл конфигурации. Если вы еще этого не сделали, вы можете установить свой редактор по умолчанию, чтобы файл открывался в вашем предпочтительном приложении. Например, чтобы установить Sublime Text в качестве редактора по умолчанию: git config --global core.editor "subl -n -w"

С открывшимся конфигурационным файлом найдите useHttpPath (или определите его, если он не существует). И установите значение true. Он должен выглядеть следующим образом:

[credential]
  helper = osxkeychain
  useHttpPath = true

Это будет инструктировать git (а также github), что любые учетные данные, используемые для входа в систему, должны быть связаны только с полным запросом пути репозитория, а не для всего домена (в случае github), все репозитории на Github.com. Итак, теперь вы можете войти в ваш репозиторий, и ваш друг может быть зарегистрирован в его репозитории, и между вашими логинами не будет конфликтов.

Ответ 2

Спасибо Дэвиду Кондри.

Для тех, кто имеет такую ​​же проблему в Windows 10, для меня это работало. Только немного отличается от ответа Apple Mac.

Используя командную строку git bash, запустите редактор:

git config --global --edit

В этом файле был только раздел [user]. Возможно, вы отличаетесь.

Добавьте следующий раздел учетных данных и одну строку в конец файла:

[credential]
  useHttpPath = true

Обратите внимание на учетные данные, а не на учетные данные.

Вам не нужна строка helper = osxkeychain, которая предназначена для Apple Mac.

Сохранить и выйти из редактора.

Теперь, когда вы git push ', появляется диалоговое окно входа в систему (но может быть в фоновом режиме). На панели задач появится значок Octocat.

.

PS: Позже я обнаружил, что это добавило строку в глобальную конфигурацию и что вместо нее можно использовать следующую команду:

git config --global  credential.usehttppath true