fatal: nie wygląda na repozytorium git

86

Dlaczego pojawia się ten błąd, kiedy mój adres URL repozytorium git jest poprawny?

jitendra@JITENDRA-PC /c/mySite (master)
$ git push beanstalk master
fatal: '[email protected]/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 [email protected]/gittest.git

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

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

Edycja: zastąpiono oryginalny zrzut ekranu

EDYTOWAĆ:

fatal: '[email protected]/gittest.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Jitendra Vyas
źródło
Czy na pewno wszystko w porządku? Czy możesz sklonować z gettest.git? Klonujesz kolejny jQuery w powyższym przykładzie.
Preet Sangha,
chcę dodać mój folder lokalny + pliki do mojego hostingu git
Jitendra Vyas
27
na przyszłość prosimy o umieszczenie tekstu w pytaniach - jako tekst. Obraz tekstu przechodzi w tryb offline, a nawet jeśli nie, zapobiega kopiowaniu i wklejaniu itp.
AD7six,

Odpowiedzi:

86

Masz scpnieco niepoprawną składnię stylu określania repozytorium - musi to być:

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

... jak widać w dokumentacji git clone . Zamiast tego należy użyć adresu URL:

[email protected]:/gittest.git

tj. w używanym adresie URL pominięto :(dwukropek)

Aby zaktualizować adres URL pochodzenia, możesz zrobić:

git remote set-url origin [email protected]:/gittest.git
Mark Longair
źródło
1
Dzięki . ale dlaczego nie dostałem żadnego błędu po dodaniu pilota
Jitendra Vyas
Teraz próbowałem z [email protected]:/gittest.gitbłędemremote origin already exists
Jitendra Vyas
4
Możesz najpierw usunąć pilota źródłowego za pomocą, git remote rm origina następnie dodać go ponownie. Następnie przy pierwszym wypchnięciu możesz chcieć dodać -uparametr (tj. git push -u origin master), Jeśli chcesz, aby masterw tym repozytorium był domyślnym upstream dla twojego master.
Mark Longair,
usuwanie i ponowne dodawanie zadziałało. bez -u. dzięki. Jestem bardzo nowy w kontroli wersji przy użyciu dowolnej kontroli wersji za pierwszym razem.
Jitendra Vyas,
1
Możesz także edytować plik „.git / config” i zaktualizować adres URL w [zdalnym „
źródle
27

Napotkałem podobny problem, gdy próbowałem przechowywać moje istniejące repozytorium na moim Ubunt Onekoncie, naprawiłem go, wykonując następujące czynności:

Krok 1: Utwórz zdalne repozytorium

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

Krok 2: dodaj pilota

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

Krok 3: wypchnij istniejący reop git do pilota

$ git push -u origin --all
vHow
źródło
19

Dzieje się tak zazwyczaj dlatego, że nie ustawiłeś aliasu pochodzenia w repozytorium Git.

Próbować

git remote add origin URL_TO_YOUR_REPO

Spowoduje to dodanie do .git/configpliku aliasu dla adresu URL witryny zdalnego klonowania / wypychania / ściągania. Ten adres URL można znaleźć na stronie Przegląd repozytorium.

rizon
źródło
5

Moje komputery lokalne i zdalne to OS X. Miałem problemy, dopóki nie sprawdziłem struktury plików repozytorium git, które zapewnia mi serwer xCode. Zasadniczo wszystko jest chmod 777 * w tym repozytorium, więc aby skonfigurować oddzielne repozytorium inne niż xCode na tej samej maszynie na moim zdalnym koncie, zrobiłem to:

ZDALNA MASZYNA

  1. Zaloguj się na swoje konto
  2. Utwórz główny katalog dla wszystkich projektów „mkdir git”
  3. chmod 775 git, a następnie przejdź do niego
  4. stwórz folder projektu „mkdir project1”
  5. chmod 777 project1, a następnie cd do niego
  6. uruchom polecenie „git init”, aby utworzyć repozytorium
  7. tworzy to reż .git. wykonaj polecenie „chmod 777 .git”, a następnie przejdź do niego
  8. uruchom polecenie „chmod 777 *”, aby utworzyć wszystkie pliki w .git 777 mod
  9. cd z powrotem do myproject1 (cd ..)
  10. skonfiguruj plik testowy w nowym repozytorium za pomocą polecenia „touch test.php”
  11. dodaj go do obszaru przemieszczania repozytorium za pomocą polecenia „git add test.php”
  12. uruchom polecenie "git commit -m 'nowy plik'", aby dodać plik do repozytorium
  13. uruchom polecenie „git status” i powinieneś otrzymać wiadomość „working dir clean”
  14. cd z powrotem do master dir z „cd ..”
  15. w głównym katalogu utwórz łącze symboliczne „ln -s project1 project1.git”
  16. uruchom polecenie „pwd”, aby uzyskać pełną ścieżkę
  17. w moim przypadku pełna ścieżka to „/Users/myname/git/project1.git”
  18. zapisz pełną ścieżkę do późniejszego wykorzystania w adresie URL
  19. wyjście z MASZYNY ZDALNEJ

MASZYNA LOKALNA

  1. utwórz folder projektu gdzieś „newproj1” z „mkdir newproj1”
  2. cd do niego
  3. uruchom polecenie „git init”
  4. utworzyć alias do ZDALNEJ MASZYNY
  5. format polecenia aliasu to „git remote dodaj your_alias_here URL”
  6. upewnij się, że Twój adres URL jest poprawny. To spowodowało początkowo bóle głowy
  7. URL = 'ssh: //[email protected]/Users/myname/git/project1.git'
  8. po wykonaniu polecenia „git remote add alias URL” wykonaj „git remote -v”
  9. polecenie powinno odpowiedzieć linią pobierania i wysyłania
  10. uruchom polecenie cmd 'git pull your_alias master', aby pobrać test.php z repozytorium REMOTE
  11. po poleceniu w # 10 powinieneś zobaczyć ładną wiadomość.
  12. uruchom polecenie 'git push --set-upstream your_alias master'
  13. po poleceniu za 12 powinieneś zobaczyć fajną wiadomość
  14. polecenie w # 12 ustawia REMOTE jako głównego projektanta (root)

Dla mnie nauczyłem się, że uzyskanie czystego startu z repozytorium git na LOKALNYM i ZDALNYM wymaga najpierw całej początkowej pracy w powłoce. Następnie, po powyższym, mogłem łatwo skonfigurować LOKALNE i ZDALNE repozytoria git w moim IDE i wykonać wszystkie podstawowe polecenia git za pomocą GUI IDE.

Miałem trudności, dopóki nie zacząłem najpierw na pilocie, potem zrobiłem lokalnie i dopóki nie otworzyłem wszystkich uprawnień na pilocie. Ponadto posiadanie dokładnej pełnej ścieżki w adresie URL do dowiązania symbolicznego było kluczowe dla sukcesu.

Znowu to wszystko działało na OS X, komputerach lokalnych i zdalnych.

JamesAD-0
źródło
Dziękuję bardzo za to! Miałem problemy z uprawnieniami do katalogu i zajęło mi wieczność znalezienie posta, który je zawierał!
Mike
W punkcie 7 dla MASZYNY LOKALNEJ również brakuje dwukropka ... niezbyt pomocny: p
Carlo Wood
2

Najprawdopodobniej masz błędny adres URL SSH repozytorium.

Aby potwierdzić, przejdź do repozytorium na Github i kliknij plik clone or download button. Następnie kliknij use SSHłącze.

ssh link

Teraz skopiuj link SSH do swojego oficjalnego repozytorium. Mój wyglądał tak -[email protected]:borenho/que-ay.git

Możesz teraz zrobić, git remote add origin [email protected]:borenho/que-ay.gitjeśli originjeszcze tego nie zrobiłeś .

Jeśli ustawiłeś originwcześniej, zmień go za pomocągit remote set-url origin [email protected]:borenho/que-ay.git

Teraz pchaj git push -u origin master

Kaka Ruto
źródło
1

Miałem podobny problem podczas korzystania z TFS 2017. Nie byłem w stanie wypchnąć ani ściągnąć repozytoriów GIT. Ostatecznie ponownie zainstalowałem TFS 2017, upewniając się, że zainstalowałem TFS 2017 z portem SSH innym niż 22 (w moim przypadku wybrałem 8022). Po tym, push and pull stało się możliwe przeciwko TFS przy użyciu SSH.

Wolfgang Grinfeld
źródło
0

Mam podobny problem, ale teraz znam przyczynę.

Po użyciu git initpowinniśmy dodać zdalne repozytorium za pomocą

git remote add name url

Zwróć uwagę na słowo name, jeśli zmienimy je na origin, to ten problem się nie wydarzy.

Oczywiście jeśli zmienimy to na py, to używanie git pull py branchi za git push py branchkażdym razem, gdy coś ciągniesz i pchasz, też będzie OK.

JChen___
źródło
1
Dziękuję za trud dzielenia się wiedzą, ale nie do końca tak się stało w przypadku PO. Pytanie jest zupełnie inne.
Shahbaz
Zauważ, że ta wcześniejsza odpowiedź mówi już o dodaniu brakującego zdalnego adresu URL.
0

Miałem ten sam problem z moją jedną z moich gałęzi funkcji. Wypróbowałem powyższe rozwiązanie nic nie działało. Rozwiązałem ten problem, wykonując następujące czynności.

  • git pull origin nazwa-gałęzi-funkcji
  • git push
Himanshu Shekhar
źródło