Как клонировать git private repo под другим зарегистрированным пользователем? - PullRequest
2 голосов
/ 04 мая 2019

У меня есть дескриптор GitHub, который я использовал годами, однако после присоединения к новой компании они потребовали, чтобы я зарегистрировал новую учетную запись GitHub под адресом электронной почты компании. Теперь я не могу клонировать приватное репо, потому что user.name установлен как мой обычный дескриптор GitHub.

Я прочитал на этой странице , что я могу добавить свое имя пользователя перед URL-адресом, например git clone https://usernamenew@github.com/companyname/repo-name.git.

Однако я получаю ошибку

Cloning into 'repo-name'...
remote: Repository not found.
fatal: repository 'https://usernamenew@github.com/companyname/repo-name.git/' not found

Как мне клонировать репо компании, используя другое имя пользователя?

Ответы [ 2 ]

2 голосов
/ 04 мая 2019

На основании вашего примера, git не запрашивает пароль.Похоже:

  • Ваши учетные данные кэшируются
  • Учетные данные предназначены для вашей личной учетной записи, а не для новой учетной записи компании

Вы правильно добавили свойновое имя пользователя в URL.Но по умолчанию git заботится только о хосте при применении кэшированных учетных данных.

Вы можете использовать опцию useHttpPath в gitcredentials, чтобы git также учитывал путь URL-адреса.Это позволит вам использовать разные учетные записи в разных репозиториях.

https://git -scm.com / docs / gitcredentials.html # Documentation / gitcredentials.txt-useHttpPath

useHttpPath

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

Настройте этозапустив следующую команду:

git config --global credential.https://github.com.useHttpPath true
1 голос
/ 04 мая 2019

Конфигурация user.name не имеет ничего общего с аутентификацией.

Проверьте git config credential.helper настройки.
Если установлено, это означает, что ваши учетные данные могут быть кэшированы: вам нужно будет удалить их или, лучше, использовать SSH URL (тот, где вы можете установить другой закрытый ключ для другого URL )

Если это не кэшированная проблема, просто проверьте, что usernamenew имеет доступ к github.com/companyname/repo-name.git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...