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

Я использую Git на OSX Mavericks, и до сих пор у меня не было проблем. Что изменилось, так это то, что я пытаюсь использовать две учетные записи Github в разных репозиториях на одном компьютере.

Проблема в том, что osx-keychain хранит информацию для входа в мою первую учетную запись. Раньше это было потрясающе, но всякий раз, когда я пытаюсь зафиксировать или отправить данные из своей новой учетной записи Github, по умолчанию используются значения имени пользователя и пароля цепочки для ключей и игнорируются локально определенные файлы конфигурации git (или даже глобальные файлы конфигурации git).

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

Так что я застрял в ситуации «или-или», и я действительно надеюсь, что есть «оба» решения. Любая помощь?

P.S. Я попробовал это решение, и оно не сработало, так как osx-keychain переопределяло идентификатор SSH. функциональность


person Dylan    schedule 18.06.2014    source источник
comment
jsdevlife.blogspot.in/2018/02/ Может быть, это будет полезно   -  person VRK    schedule 27.03.2018


Ответы (1)


Если вы используете ссылку https, то упомянутое вами решение не будет иметь никакого эффекта: это для нескольких ключей ssh.

Что касается https, в в этом вопросе упоминается несколько решений, в том числе:

  • По умолчанию gitcredentials учитывает только доменное имя.
    Если вы хотите, чтобы git учитывал полный путь (например, если у вас несколько учетных записей GitHub), установите для переменной useHttpPath значение true, как описано в >gitcredentials.
    Обратите внимание, что при изменении этого параметра будут запрашиваться ваши учетные данные снова для каждого URL.

По умолчанию Git не считает компонент «путь» URL-адреса http достойным сопоставления с помощью внешних помощников.
Это означает, что учетные данные, сохраненные для https://example.com/foo.git, также будут использоваться для https://example.com/bar.git.
Если вы хотите различать эти случаи, установите для этой опции значение true.

Кроме того, убедитесь, что ваш URL-адрес https включает имя вашей учетной записи:

git clone https://[email protected]/auser/aprojectX
git clone https://[email protected]/auser/aprojectY

Это поможет помощнику по учетным данным узнать, какую учетную запись / пароль он должен искать.

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

git config (--global) user.name

Эта последняя конфигурация предназначена только для установки автора, связанного с вашими локальными фиксациями.
Она не предназначена для выбора учетной записи, используемой для доступа к веб-сайту удаленного хостинга.

person VonC    schedule 18.06.2014
comment
Имя учетной записи в URL-адресе клона спасло день .. спасибо - person pravin; 05.05.2020