фатальный: не похоже на репозиторий git


86

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

jitendra@JITENDRA-PC /c/mySite (master)
$ git push beanstalk master
fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

jitendra@JITENDRA-PC /c/mySite (master)
$ git clone git://github.com/jquery/jquery.git
Cloning into jquery...
Remote: Counting objects: 19803, done.
Remote: Compressing objects: 100% (5196/5196), done.
Remote: Total 19803 (delta 14204), reused 19549 (delta 14052)
Receiving objects: 100% (19803/19803), 12.80 MiB | 591 KiB/s, done.
Resolving deltas: 100% (14204/14204), done.

jitendra@JITENDRA-PC /c/mySite (master)
$ gitk --all

jitendra@JITENDRA-PC /c/mySite (master)
$ gitk -all

jitendra@JITENDRA-PC /c/mySite (master)
$ git remote add origin git@skarp.beanstalkapp.com/gittest.git

jitendra@JITENDRA-PC /c/mySite (master)
$ git push origin master
fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

jitendra@JITENDRA-PC /c/mySite (master)

Изменить: заменен оригинальный снимок экрана

РЕДАКТИРОВАТЬ:

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

Ты уверен, что все в порядке? Можно клонировать из gettest.git? В приведенном выше примере вы клонируете еще один jquery.
Preet Sangha

Я хочу добавить свою локальную папку + файлы на свой хостинг git
Джитендра Вьяс

27
для дальнейшего использования, пожалуйста, включайте текст в вопросы - как текст. Изображение текста
отключается

Ответы:


86

У вас есть синтаксис для 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

1
Благодарю . но тогда почему я не получил никаких ошибок при добавлении пульта ДУ
Джитендра Вьяс

Теперь я пытался, git@skarp.beanstalkapp.com:/gittest.gitно получаю ошибкуremote origin already exists
Джитендра Вьяс

4
Вы можете сначала удалить исходный пульт с помощью, git remote rm originа затем добавить его снова. Затем при первом нажатии вы можете добавить -uпараметр (т.е. git push -u origin master), если хотите, чтобы masterэтот репозиторий был вашим исходным потоком по умолчанию для вашего master.
Марк Лонгэр

удаление и повторное добавление работали. без -u. Благодарю. Я новичок в управлении версиями, использую любой элемент управления версиями в первый раз.
Джитендра Вьяс

1
Вы также можете отредактировать файл ".git / config" и обновить URL-адрес в [удаленном "источнике"]
dxvargas

27

Я столкнулся с аналогичной проблемой, когда попытался сохранить существующее репо в своей 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

19

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

Пытаться

git remote add origin URL_TO_YOUR_REPO

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


5

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

УДАЛЕННАЯ МАШИНА

  1. Вход в свой аккаунт
  2. Создайте главный каталог для всех проектов mkdir git
  3. chmod 775 git, затем cd в него
  4. создать папку проекта 'mkdir project1'
  5. chmod 777 project1, затем cd в него
  6. запустите команду 'git init', чтобы сделать репо
  7. это создает каталог .git. выполните команду 'chmod 777 .git', затем cd в нее
  8. запустите команду 'chmod 777 *', чтобы сделать все файлы в .git 777 mod
  9. cd обратно в myproject1 (cd ..)
  10. настроить тестовый файл в новом репозитории с командой 'touch test.php'
  11. добавьте его в промежуточную область репо с помощью команды 'git add test.php'
  12. запустите команду «git commit -m 'new file'», чтобы добавить файл в репо
  13. запустите команду 'git status', и вы должны получить сообщение «рабочий каталог очистить»
  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 репо
  11. после команды в # 10 вы должны увидеть красивое сообщение.
  12. запустите команду 'git push --set-upstream your_alias master'
  13. после команды в 12 вы должны увидеть красивое сообщение
  14. команда в # 12 устанавливает REMOTE в качестве мастера проекта (root)

Что касается меня, я научился получать чистый старт с репозиторием git на ЛОКАЛЬНОМ, а УДАЛЕННОМУ сначала требуется вся начальная работа в оболочке. Затем, после вышеизложенного, я смог легко настроить ЛОКАЛЬНЫЙ и УДАЛЕННЫЙ репозиторий git в моей среде IDE и выполнить все основные команды git, используя графический интерфейс IDE.

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

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


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

В пункте 7 для LOCAL MACHINE также отсутствует двоеточие ... не очень полезно: p
Карло Вуд

2

Скорее всего, вы ошиблись с URL-адресом SSH вашего репо.

Для подтверждения зайдите в свой репозиторий на Github и нажмите clone or download button. Затем щелкните use SSHссылку.

ssh ссылка

Теперь скопируйте ссылку SSH вашего официального репо. Мой выглядел так -git@github.com:borenho/que-ay.git

Теперь вы можете сделать это, git remote add origin git@github.com:borenho/que-ay.gitесли еще не сделали origin.

Если вы установили originраньше, измените его, используяgit remote set-url origin git@github.com:borenho/que-ay.git

Теперь нажмите с git push -u origin master


1

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


0

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

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

git remote add name url

Обратите внимание на слово name, если поменять его на origin, то проблемы не будет.

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


1
Спасибо за попытку поделиться своими знаниями, но это не совсем то, что произошло в случае OP. Вопрос совсем другой.
Shahbaz

Обратите внимание, что в этом предыдущем ответе уже говорится о добавлении отсутствующего удаленного URL-адреса.

0

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

  • git pull origin имя-ветки
  • git push
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.