Мой коллега предоставил мне доступ к своему репозиторию в качестве Мастера, затем я клонировал его как по SSH, так и по HTTPS, но это всегда терпело неудачу:
GitLab: The project you were looking for could not be found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Я проверил свой сгенерированный открытый ключ в файле .pub и уже вставлен в мою учетную запись Gitlab.
и я также пытался клонировать репозиторий (от другого владельца), и это работает!
это сбивает с толку.
я что-то пропустил?
теперь работает, спасибо!





Хорошо, не могли бы вы проверить, что ваши глобальные переменные git верны, учитывая вашу учетную запись GitLab.
$ git config --global user.name "Your name"
$ git config --global user.email [email protected]
У меня возникли проблемы с клонированием, когда мои данные были неправильными.
У меня была такая же проблема, и я обнаружил несколько проблем. Я не эксперт в этой области, но вот краткое изложение шагов, которые я предпринял для решения. Надеюсь, это будет полезно:
Клонирование завершилось ошибкой, указанной выше, и мне не предлагалось ввести имя пользователя и пароль в командной строке. Запуск клона с подробным флагом
git clone --progress --verbose https://[my_gitlab_server]/[repo]/[project].git
показал, что git извлекает учетные данные из OSX Toolchain, которые явно неверны. Я отключил это с помощью инструкции здесь.
sudo git config --system --unset credential.helper
Теперь я получал запрос на ввод имени пользователя и пароля, но получил:
удаленный: HTTP Basic: доступ запрещен удаленный: необходимо использовать токен личного доступа с областью api для Git через HTTP. удаленный: вы можете создать его на https: // [my_gitlab_server] / profile / personal_access_tokens фатальный: ошибка аутентификации для 'https: // [my_gitlab_server] / [репо] / [проект] .git /'
Итак, я создал токен персонального доступа в соответствии с инструкциями здесь.
Я не знал, что делать с токеном. Оказывается, вы можете включить его в URL-адрес, как описано здесь (для меня это выглядело как git clone https://oauth2:[token]@[my_gitlab_server]/[project].git), или вы можете просто вставить токен в запрос командной строки для «пароля».
Теперь я мог клонировать через HTTPS.
Клон SSH выдавал ту же ошибку, что и клон HTTPS. Здесь полезен некоторый предыстория bash-агентов.
Я нашел свой файл ~ / .ssh / config в моем пользовательском каталоге и подтвердил, что в репо есть запись там.
Host [my_gitlab_server]/[repo]
IdentityFile ~/.ssh/id_rsa2
У меня было несколько файлов id-rsa в каталоге ssh, поэтому я открыл id_rsa2.pub (тот, который связан с моим репо в файле конфигурации) и сравнил его с ключом, который я нашел в моем репо, перейдя на вкладку `` Ключи SSH '' в моем 'Настройки профиля'. Ключи были такие же.
(Если вам нужна помощь в создании и просмотре ключей, см. Документацию здесь.)
Мои ключи были на месте, но мой клон SSH все еще не работал.
Я подумал, что может быть проблема с файлом конфигурации или что мои ключи больше не действительны, поэтому я обошел файл конфигурации, вручную добавив ключ в текущий сеанс терминала, используя инструкции здесь.
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa2
Это сработало, поэтому я знал, что мой ключ действителен.
(Кстати, чтобы увидеть ключи, загруженные в ваш агент, запустите ssh-add -L, а чтобы увидеть их отпечатки пальцев - ssh-add -l.)
Проблема заключалась в том, что мне нужно было использовать файл ~ / .ssh / config, чтобы мне не приходилось запускать eval и ssh-add каждый раз, когда я открывал новое окно терминала.
ssh -Tvv git@[my_gitlab_server], который успешно подключился к моему серверу gitlab, но использовал ключ, который я не узнал. В выводе я заметил, что файл id-rsa2 не искался.Используя информацию с ssh.com о ключи и файлы ssh_config, я обнаружил, что файл / и т.д. / частный / ssh / ssh_config указывает, какие ключи используются. Значения по умолчанию были:
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/id_ecdsa
IdentityFile ~/.ssh/id_ed25519
Я добавил свой ключ id_rsa2, запустив sudo nano /private/etc/ssh/ssh_config и добавив эту строку:
IdentityFile ~/.ssh/id_rsa2
Это сработало как чемпион.
В целом лучше использовать один ключ ssh с именем id_rsa по умолчанию, чтобы избежать подобных проблем.
Убедитесь, что у вас нет других ключей в каталоге
.ssh, а также проверьте ключи, загруженные в ваш агент ssh.