фатальный: не похоже на репозиторий - PullRequest
66 голосов
/ 06 сентября 2011

Почему я получаю эту ошибку, когда мой URL-адрес хранилища git правильный?

fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository // fatal: The remote end hung up unexpectedly

EDIT:

fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Ответы [ 6 ]

75 голосов
/ 06 сентября 2011

У вас есть синтаксис для стиля scp, указывающий, что хранилище немного неверно - оно должно быть:

[user@]host.xz:path/to/repo.git/

... как вы можете видеть в git clone документация.Вместо этого вы должны использовать URL:

git@skarp.beanstalkapp.com:/gittest.git

, т.е. в используемом вами URL вы пропустили : (двоеточие)

. Чтобы обновить URL для источника, вы можете сделать:

git remote set-url origin git@skarp.beanstalkapp.com:/gittest.git
22 голосов
/ 11 сентября 2013

Я столкнулся с подобной проблемой, когда попытался сохранить существующее репо в своей учетной записи Ubunt One, я исправил ее, выполнив следующие действия:

Шаг 1: создать удаленное репо

$ cd ~/Ubuntu\ One/
$ mkdir <project-name>
$ cd <project-name>
$ mkdir .git
$ cd .git
$ git --bare init

Шаг 2: добавить пульт

$ git remote add origin /home/<linux-user-name>/Ubuntu\ One/<project-name>/.git

Шаг-3: перенести существующий git reop на пульт

$ git push -u origin --all
16 голосов
/ 24 января 2013

Обычно это происходит потому, что вы не установили псевдоним источника в своем репозитории Git.

Попробуйте

git remote add origin URL_TO_YOUR_REPO

Это добавит псевдоним в ваш файл .git/config для удаленного клона./ push / pull URL сайта.Этот URL можно найти на странице обзора вашего хранилища.

5 голосов
/ 26 октября 2015

мои локальные и удаленные машины являются OS X. У меня были проблемы, пока я не проверил файловую структуру git-репо, которую предоставляет мне сервер xCode. По сути, в этом репозитории все chmod 777 *, поэтому для настройки отдельного репозитория без xCode на той же машине в моей удаленной учетной записи я сделал это:

ДИСТАНЦИОННАЯ МАШИНА

  1. Войдите в свой аккаунт
  2. Создать мастер-каталог для всех проектов 'mkdir git'
  3. chmod 775 git, затем перейдите в него
  4. сделать папку проекта 'mkdir project1'
  5. chmod 777 project1, затем перейдите в него
  6. запустить команду 'git init', чтобы сделать репо
  7. это создает .git dir. выполните команду 'chmod 777 .git', затем перейдите в нее
  8. запустить команду 'chmod 777 *', чтобы сделать все файлы в .git 777 мод
  9. вернитесь к myproject1 (cd ..)
  10. установить тестовый файл в новом репозитории с помощью команды «touch test.php»
  11. добавьте его в область подготовки репо с помощью команды 'git add test.php'
  12. запустить команду "git commit -m 'new file'", чтобы добавить файл в репозиторий
  13. запустите команду 'git status', и вы должны получить сообщение "working dir clean"
  14. cd вернуться к основному каталогу с помощью 'cd ..'
  15. в главном каталоге создайте символическую ссылку 'ln -s project1 project1.git'
  16. запустить команду 'pwd', чтобы получить полный путь
  17. в моем случае полный путь был "/Users/myname/git/project1.git'
  18. запишите полный путь для последующего использования в URL
  19. выход из удаленного автомата

МЕСТНАЯ МАШИНА

  1. создать папку проекта где-нибудь 'newproj1' с помощью 'mkdir newproj1'
  2. CD в него
  3. запустить команду 'git init'
  4. сделать псевдоним для удаленной машины
  5. формат команды псевдонима: «git remote add your_alias_here URL»
  6. убедитесь, что ваш URL правильный. Первоначально это вызвало у меня головную боль
  7. URL = 'ssh: //user@www.somemachine.com/Users/myname/git/project1.git'
  8. после того, как вы выполните 'git remote add alias URL', сделайте 'git remote -v'
  9. команда должна ответить извлечением и нажатием строки
  10. запустите cmd 'git pull your_alias master', чтобы получить test.php из REMOTE repo
  11. после команды в # 10 вы должны увидеть красивое сообщение.
  12. выполнить команду 'git push --set-upstream your_alias master'
  13. после команды в 12 вы должны увидеть красивое сообщение
  14. команда в # 12 устанавливает REMOTE в качестве мастера проекта (root)

Для меня я научился правильно начинать с git-репо на LOCAL, а REMOTE сначала требует всей начальной работы в оболочке. Затем, после вышеупомянутого я смог легко настроить локальные и удаленные git-репозитории в моей IDE и выполнять все основные команды git, используя графический интерфейс IDE.

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

Опять же, все это работало на OS X, локальных и удаленных машинах.

1 голос
/ 16 января 2017

У меня была похожая проблема при использовании TFS 2017. Мне не удалось переместить или вытащить GIT-репозитории.В конце концов я переустановил TFS 2017, убедившись, что я установил TFS 2017 с портом SSH, отличным от 22 (в моем случае я выбрал 8022).После этого стали возможны push и pull против TFS с использованием SSH.

0 голосов
/ 29 апреля 2013

У меня похожая проблема, но теперь я знаю причину.

После того, как мы используем git init, мы должны добавить удаленный репозиторий, используя

git remote add name url

Обратите внимание на словоname, если мы изменим его на origin, то эта проблема не возникнет.

Конечно, если мы изменим его на py, то будем использовать git pull py branch и git push py branch каждый раз, когда вытянуть и толкать что-то тоже будет хорошо.

...