Клонирование частного репозитория Github

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

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

Команда, которую я использовал, была git clone git://github.com/myusername/reponame.git

Ответ 1

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

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

Ответ 3

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

git clone https://username:[email protected]/username/repo_name.git

Ответ 4

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

Это потому что у меня 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 (Ссылка на репозиторий git по умолчанию достаточно хороша!)
  3. Введите свое имя пользователя и используйте токен доступа в качестве пароля !!

Обновление:

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

Ответ 5

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

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

Ответ 6

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

git clone https://[email protected]

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

git clone https://[email protected]/ownersusername/repo_name.git

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

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

Когда появится запрос на ввод пароля, введите этот токен здесь. Token generation image here

Ответ 7

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

Ответ 8

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

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, и клон запустился отлично.

Ответ 9

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

Ответ 10

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

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

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

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

Ответ 11

Это сработало для меня на Mac git clone https://[email protected]:username/repo_name

Ответ 12

Если недавно использованный компьютер имеет другие учетные данные, запустив эту команду

git clone https://github.com/username/reponame.git

напрямую не сработает. Git попытается использовать сохраненные учетные данные и не будет запрашивать у вас имя пользователя и пароль. Так как учетные данные не совпадают, git выведет Repository not found и операция клона завершится неудачно. Я решил это, удалив старые учетные данные, так как я их больше не использую, и снова выполнил вышеупомянутую команду, ввел требуемое имя пользователя и пароль и клонировал частное хранилище.

Ответ 13

Мне нужен неинтерактивный метод для клонирования частного репо.

Вдохновленный этой проблемой: https://github.com/github/hub/issues/1644

Шаг 1.

Создайте персональный токен доступа в настройках разработчика github: https://github.com/settings/tokens

Шаг 2.

git clone https://$token:[email protected]/$username/$repo.git

Ответ 14

При клонировании из частных репозиториев с включенным 2FA есть простые шаги, которым нужно следовать

  1. Перейдите в свой аккаунт Git
  2. Перейдите на Settings-> Разработчик Settings-> Токен личного доступа
  3. Нажмите на Создать новый токен
  4. Создайте токен с нужным названием и функциями
  5. Когда вы клонируете частное хранилище, с помощью git clone repoName после ввода имени пользователя укажите личный токен доступа в качестве пароля.

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

Ответ 15

Добавьте ваш открытый настольный ssh-ключ в github.

https://github.com/settings/keys

Вы можете клонировать репо без пароля.

Ответ 16

Если вы уверены, что у вас не включен 2FA, у вас есть разрешение на доступ к репо, и репозиторий существует, возможно, ваш [email protected] вошел в систему с другой учетной записью.

чтобы проверить, что вы можете сделать

git -T [email protected]

Если у вас есть другой аккаунт, чтобы решить эту проблему:

 ssh-add -D
 ssh-add ~/.ssh/your_rsa
 ssh -T [email protected]
 git clone [email protected]:<owner_name>/<repo_name>.git