Клонирование частного репозитория Github - PullRequest
172 голосов
/ 24 марта 2010

У меня есть частный репозиторий на Github для проекта, над которым я работаю. До сих пор я работал только на своем домашнем компьютере, но я только что купил ноутбук и пытаюсь настроить его так, чтобы я мог работать над проектом с любого компьютера и вносить изменения.

Я добавил новый SSH-ключ в свою учетную запись Github для ноутбука, и мне удалось клонировать и внести изменения в публичное тестовое репо, которое я настроил. Однако я не мог клонировать частное репо. Что-нибудь особенное, что мне нужно сделать в командной строке, чтобы клонировать частное хранилище? Нужно ли мне настраивать новую учетную запись GitHub для моего ноутбука и настраивать себя в качестве соавтора?

Я использовал команду git clone git://github.com/myusername/reponame.git

Ответы [ 14 ]

146 голосов
/ 29 марта 2010

Частные URL-адреса клонов принимают форму git@github.com:username/repo.git - возможно, вам нужно было использовать git@ вместо git://?

git:// URL-адреса доступны только для чтения, и, похоже, частные репозитории не разрешают эту форму доступа.

119 голосов
/ 04 января 2015

Это сработало для меня:

git clone https://username@github.com/username/repo_name

Это, конечно, было после добавления моего SSH-ключа в Github . Я использовал это на сервере CentOs, если это необходимо.

42 голосов
/ 01 октября 2017

Это сработало для меня:

git clone https://username:password@github.com/username/repo_name.git
33 голосов
/ 24 августа 2018

Ради Бога, я встречался с этой проблемой несколько раз, и каждый раз, когда я попадал на эту страницу, пробовал все и терпел неудачу!

Это потому, что у меня включен 2FA !!!

Согласно https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled

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

  1. Перейдите по этой ссылке и создайте токен доступа
  2. git clone https://github.com/username/repo_name.git (Ссылка на репозиторий по умолчанию достаточно хороша!)
  3. Введите свое имя пользователя и используйте токен доступа в качестве пароля !!

Обновление:

  • Если вы не против выставить свой токен доступа в командной строке, вы также можете вставить токен доступа как имя пользователя, а затем нажать клавишу ввода enter (пароль не нужен).
  • Ненавижу копировать и вставлять маркер доступа снова и снова?
    Используйте git config credential.helper store (не делайте этого на машине, которой вы не доверяете)
17 голосов
/ 10 марта 2014

Используя Git для Windows, проще использовать HTTPS url.

Откройте оболочку git, затем git clone https://github.com/user/repo. Введите имя пользователя и пароль при появлении запроса. Нет необходимости устанавливать ключ SSH.

6 голосов
/ 16 мая 2018

Для меня решение было:

git clone https://myusername@restoftherepolink.git

Здесь вы должны быть владельцем репо, но если вы этого не сделаете, он будет выглядеть как

git clone https://myusername@github.com/ownersusername/repo_name.git

Если у вас есть 2FA enabled, тогда:

  1. Перейдите в настройки из значка профиля в правом верхнем углу или посетите https://github.com/settings/profile
  2. Перейти на нижнюю вкладку или перейти к https://github.com/settings/tokens
  3. Откройте последнюю вкладку здесь Персональные токены. И сгенерировать токен
  4. Скопируйте токен и запустите git clone https://myusername@restoftherepolink.git

При появлении запроса на ввод пароля введите сюда этот токен. Token generation image here

5 голосов
/ 07 октября 2013

В ответ на ответ Mac вы можете получить URL-адрес вашего клона SSH на странице репозитория github, нажав SSH на You can clone with HTTPS, SSH, or Subversion. и скопировав URL.

3 голосов
/ 09 октября 2018

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

Initially it was the Fatal Error. 
fatal: repository 'https:
...
remote: Repository not found.
fatal: repository 'https:

Установлен диспетчер учетных данных и обновлен GIT, как указано здесь: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/

Это не решило проблему, поскольку проблема перешла к приведенному ниже, когда я попытался использовать команду clone следующим образом:

$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

remote: Invalid username or password.
fatal: Authentication failed for 'https://

В моем пароле был символ $ , и по какой-то причине GIT командной строке / GIT Bash это не понравилось. Я вижу это по возвращенному тексту ошибки, в котором не было символа $.

fatal: Authentication failed for 'https://<username>:<password-missing-$-symbol>@github.com/<ORG_NAME>/<PROJECT-NAME>.git'

Мне нужно было сослаться на этот сайт: https://git -scm.com / book / en / v2 / Git-Tools-Credential-Storage

Обратите внимание: если для вашей учетной записи хранится неверный пароль, Диспетчер учетных данных Windows это также добавит проблемы. я удалили сохраненные таким образом учетные данные github перед переходом к шагу ниже.

$ git config --global credential.helper cache
$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

Теперь появился диспетчер учетных данных Windows. Я набрал свое имя пользователя и пароль в текстовых полях (Это приняло мой пароль с символом $) и попросил ввести код 2-факторной аутентификации. Я набрал код аутентификации из Google Authenticator, и клон запустился отлично.

3 голосов
/ 11 июня 2015

Сначала убедитесь, что у вас есть ключ SSH или сгенерируйте его по адресу: https://help.github.com/articles/generating-ssh-keys/

Получив ключ, вы должны добавить его в свою учетную запись на github по адресу: https://github.com/settings/ssh

Для пользователей Windows полезно запускать git bash от имени администратора.

Теперь клонирование должно работать для частных репозиториев (репо), без необходимости ввода имени пользователя и пароля.

3 голосов
/ 28 сентября 2014

В дополнение к ответу М.К. Юнга: убедитесь, что вы добавили открытый ключ для тех мест, где вы развертываете ключи развертывания для репозитория, если вы не хотите получать ответ 403 Запрещено.

...