git pull origin master returnează fatal: refspec invalidă (Programare, Macos, Git, Github, Terminal, Refspec)

jhndlntylr a intrebat.

Iată care este problema:

Ori de câte ori fac

$ git pull 'https://github.com/username/reponame.github.io.git'

urmat de url nu am probleme, dar când fac

git pull origin master 'https://github.com/username/reponame.github.io.git'

urmat de url, se întoarce

fatal: Invalid refspec 'https://github.com/username/reponame.github.io.git'

Ce înseamnă acest lucru și cum ar trebui să procedez pentru a rezolva problema?

2 răspunsuri
miqh

Dacă ați stabilit deja ramuri de urmărire la distanță (de ex. git clone face acest lucru în mod automat) și doriți să utilizați git pull cu intenția de a prelua și unifica cele mai recente comenzi pentru ramura curentă din depozitul la distanță, cred că va fi suficientă executarea următoarelor acțiuni:

git pull

Pentru a obține același efect cu includerea unei refspec (inutil de lung):

// Pulls the remote 'master' branch down to the local 'master' branch
git pull origin master:refs/remotes/origin/master

Primiți această eroare deoarece furnizarea unei adrese URL nu este formatul refspec.

Pentru mai multe detalii despre modul în care funcționează refspec și sintaxa sa, consultați acest document capitol din minunatul carte Pro Git. Sper că vă ajută!

kostix

Vă rugăm să explicați ce este git pull origin master 'https://github.com/username/reponame.github.io.git' apel este presupus să facă (în mintea ta)?

Dacă doriți să extrageți ramura „master” dintr-un repo folosind URL-ul său explicit, atunci comanda de apelat ar fi

git pull https://github.com/username/reponame.github.io.git master

pentru că „origin” este doar un nume al unei așa-numite „named remote”, care este un fel de alias configurat pentru un depozit care vă permite să nu mai tastați URL-ul acelui depozit de fiecare dată când îl accesați.

Apelul canonic la git pull este

git pull [<repo> [<refspec> ...]]

unde părțile din [...] sunt opționale – a se vedea pagina de manual.