2015-10-02 3 views
13

Sono molto nuovo a Git, quindi di fronte ad alcuni problemi con l'uso corretto. Ecco il mio scenario.Errore Git: 'upstream' non sembra essere un repository git

Ho un fork del mio master repository e lo ho clonato nel mio locale. In questo, ho 2 rami per diverse correzioni.

Quando mi impegno, ho visto una dichiarazione nel git-diciamo che sono 3 avanti e circa 20 commit dietro.

Capisco che la mia forcella non è sincronizzata con il master. Ho anche bisogno di unire i due rami (o dovrei farlo?)

Ho usato il client Windows per la sincronizzazione. Ma sembra che io non stia seguendo il modo Git. Così, ho provato a seguire i passaggi descritti in https://help.github.com/articles/syncing-a-fork/ che mi sta dando un errore come segue (sto usando Windows).

$>git fetch upstream 
fatal: 'upstream' does not appear to be a git repository 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

Sono un po 'confuso. Per favore aiutami con i passi che dovrei seguire in questo scenario.

@HuStmpHrrr

dispiace per aggiungere i dettagli in commenti io modifico la questione per migliorare la leggibilità

eseguendo il comando:

$>git remote returning two values 
    acme-development (which the name of my actual/main repository, from where I forked) and 
    origin 

Aggiungendo qualche info in più .


Dopo aver effettuato un'operazione di recupero, ho provato un origin/master si fondono al mio padrone Si prega di vedere la schermata enter image description here

Ma, se faccio il login al mio account online Github, si sta dicendo un storia diversa.

enter image description here

Il mio cliente dice che git repo locale è aggiornata. Ma il git online dice che ci sono 42 commit dietro e 7 commit avanti.

+1

come hai "clonato"? Immagino tu intenda "git fetch origin". se hai definito un upstream, 'git fetch' da solo funzionerebbe. o la maggior parte delle persone in realtà preferisce 'git pull'. – HuStmpHrrr

+0

Penso che tu debba mostrarci 'git remote'. – HuStmpHrrr

+0

$> git remote sviluppo origine – kallada

risposta

15

L'articolo a cui si collega (anche se potrebbe essere cambiato da quando è stato richiesto) inizia con un riferimento a https://help.github.com/articles/configuring-a-remote-for-a-fork/. Se lo completi, avrai un nuovo repository remoto denominato upstream che punta al repository originale che hai biforcato, e git fetch upstream funzionerà.

3

Quindi ci sono alcune cose da chiarire:

  • monte è il nome concettuale del repository remoto (o repository) che esistono. La maggior parte dei progetti ha un solo repository upstream.

  • Il nome del repository monte può variare da progetto a progetto, ma per convenzione è origine.

Detto questo, io sono pronto a scommettere che avete ottenuto il nome del pronti contro termine a monte e il concetto di pronti contro termine a monte confuso, e si dovrebbe essere in esecuzione git fetch origin. Verifica con git remote; usa il nome appropriato da quella lista.

Tuttavia, se si dispone di un solo repository upstream, eseguire git fetch compirà la stessa operazione.