fatal: схоже, не є сховищем git


83

Чому я отримую цю помилку, коли моя адреса сховища 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
Jitendra Vyas

27
для подальшої довідки, будь ласка, включіть текст у запитання - як текст. Зображення тексту переходять у офлайн-режим, і навіть якщо вони цього не роблять, вони заважають копіювати та вставляти тощо
AD7six

Відповіді:


85

У вас є синтаксис 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
Дякую . але чому тоді я не отримав жодної помилки, коли додав пульт
Jitendra Vyas

Зараз я спробував з git@skarp.beanstalkapp.com:/gittest.gitпомилкою, але отримую помилкуremote origin already exists
Jitendra Vyas

3
Спочатку можна видалити пульт відправника джерела за допомогою, git remote rm originа потім додати його знову. Тоді при першому натисканні ви можете додати -uпараметр (тобто git push -u origin master), якщо ви хочете, щоб masterу цьому сховищі було за замовчуванням вище за вашим master.
Mark Longair

видалення та повторне додавання спрацювало. без -u. Дякую. Я дуже новачок у контролі версій, використовуючи будь-який контроль версій вперше.
Jitendra Vyas

Ви також можете редагувати файл ".git / config" та оновлювати URL-адресу у [віддаленому "походженні"]
dxvargas

26

Я зіткнувся з подібною проблемою, коли спробував зберегти наявний репо у своєму 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

18

Зазвичай це пов’язано з тим, що ви не встановили псевдонім джерела у своєму сховищі Git.

Спробуйте

git remote add origin URL_TO_YOUR_REPO

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


5

мої локальні та віддалені машини - це і OS X. У мене були проблеми, поки я не перевірив файлову структуру репозиторію git, який мені надає xCode Server. По суті, у цьому репо все є chmod 777 *, тому для налаштування окремого репозиторію non xCode на тій самій машині у моєму віддаленому обліковому записі там я зробив це:

ДИСТАНЦІЙНА МАШИНА

  1. Увійдіть у свій рахунок
  2. Створити основний каталог для всіх проектів 'mkdir git'
  3. chmod 775 git, а потім компакт-диск на нього
  4. створити папку проекту 'mkdir project1'
  5. chmod 777 project1, а потім компакт-диск
  6. запустіть команду 'git init', щоб зробити репо
  7. це створює директорію .git. виконайте команду 'chmod 777 .git', а потім компакт-диск на неї
  8. запустіть команду 'chmod 777 *', щоб зробити всі файли в .git 777 mod
  9. cd повернутися до myproject1 (cd ..)
  10. налаштувати тестовий файл у новому репо з командою 'touch test.php'
  11. додайте його в область інсталяції репо за допомогою команди 'git add test.php'
  12. запустіть команду "git commit -m 'новий файл'", щоб додати файл до репо
  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. компакт-диск у нього
  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 URL alias' do '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 як майстер проекту (корінь)

Для мене я навчився отримувати чистий старт з git-репо на LOCAL і REMOTE вимагає спочатку всі початкові роботи в оболонці. Потім, після вищезазначеного, я зміг легко налаштувати LOCAL і REMOTE git repo в моїй IDE і виконати всі основні команди git, використовуючи графічний інтерфейс IDE.

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

Знову ж таки, все це працювало на OS X, локальних та віддалених машинах.


Велике спасибі за це! У мене були проблеми з дозволами мого каталогу, і мені знадобилося назавжди знайти допис, який насправді їх перелічував!
Майк

У пункті 7 для ЛОКАЛЬНОЇ МАШИНИ також відсутня товста кишка ... не дуже корисно: p
Карло Вуд

1

У мене була подібна проблема при використанні TFS 2017. Мені не вдалося штовхати або тягнути сховища GIT. Зрештою я переінсталював TFS 2017, переконавшись, що встановив TFS 2017 із портом SSH, відмінним від 22 (у моєму випадку я вибрав 8022). Після цього натискання та витягування стало можливим проти TFS за допомогою SSH.


1

Швидше за все, ви неправильно помилились у SSP-адресі вашого репо.

Для підтвердження перейдіть до вашого сховища на 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


0

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

Після використання git initми повинні додати віддалене сховище за допомогою

git remote add name url

Зверніть увагу на слово name, якщо ми його змінимо на origin, то цієї проблеми не станеться.

Звичайно, якщо ми змінимо його на py, тоді використання git pull py branchі git push py branchкожен раз, коли ви щось натискаєте та штовхаєте, також буде нормальним.


1
Дякуємо за зусилля, якими ви ділитесь своїми знаннями, але це не зовсім те, що сталося у випадку з ОП. Питання зовсім інше.
Шахбаз,

Зверніть увагу, що у цій попередній відповіді вже сказано додати відсутній віддалений url.

0

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

  • git pull origin особливість-назва-гілки
  • git push
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.