L'origine remota esiste già in "git push" in un nuovo repository


548

Ho il mio progetto su GitHub in una certa posizione, git@github.com:myname/oldrep.git.

Ora voglio spingere tutto il mio codice per un nuovo repository in qualche altro luogo, git@github.com:newname/newrep.git.

Ho usato il comando:

git remote add origin git@github.com:myname/oldrep.git

ma sto ricevendo questo:

fatale: l'origine remota esiste già.


6
Dai l'output del comando $> git remote -v show
sykora


Un buon metodo consiste nell'utilizzare "importa da un altro repository" nella parte inferiore del nuovo repository creato, se si conosce l'URL di quello precedente.
JW.ZG,

Una domanda simile è stato chiesto qui: stackoverflow.com/questions/2432764/...
jciloa

1
Se vuoi mantenere il telecomando originale, puoi semplicemente usare un nome diverso git remote add origin2 ...., ma se devi solo premere una volta senza modificare la configurazione del repository, puoi semplicemente farlo git push git@github.com:user/another-project.git master:master.
ccpizza,

Risposte:


870

Questo errore viene visualizzato perché "origine" non è disponibile. "origine" è una convenzione che non fa parte del comando. "origine" è il nome locale del repository remoto.

Ad esempio potresti anche scrivere:

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

Vedi il manuale:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

Per rimuovere un repository remoto, inserisci:

git remote rm origin

Ancora una volta "origine" è il nome del repository remoto se si desidera rimuovere il telecomando "upstream":

git remote rm upstream

8
"git remote rm origin" non ha funzionato da me, se non funziona per te prova a controllare con "git remote -v" questo ti mostrerà se la tua origine ha un url impostato, se non è probabile che tu ha fatto l'init localmente e sta provando a spingerlo da remoto, e ha fatto un passo falso come me). Quindi segui la risposta di RobinH: git remote set-url origin git@github.com: username / projectname.git
Clarence Liu

1
controlla questa risposta per forzare l'URL.
srodriguex,

"git remote rm origin" ha funzionato come un fascino, meraviglioso! :) eh, sono nuovo nella terminologia di git, quindi è stata una ricerca più ampia, ma la tua risposta mi ha aiutato molto. :) grazie!
Martin Pfeffer,

3
git push -u origin master --force
Ronnie Royston,

--force è la soluzione!
creatore

260

Le soluzioni precedenti sembrano ignorare l'origine e suggeriscono solo di usare un altro nome. Quando vuoi solo usare git push origin, continua a leggere.

Il problema appare perché viene seguito un ordine errato di configurazione Git. Potresti aver già aggiunto un 'origine git' alla tua configurazione .git.

Puoi cambiare l'origine remota nella tua configurazione Git con la seguente riga:

git remote set-url origin git@github.com:username/projectname.git

Questo comando imposta un nuovo URL per il repository Git che si desidera inviare. Importante è quello di riempire il proprio nome utente e la projectname


7
Grazie, esattamente quello che dovevo fare :)
winkbrace il

Questo l'ha trovato per me. Ma ciò che mi ha davvero aiutato con questo problema è stato il fatto che ho un utente PortableGit installato con Gihub per Windows. Ho trovato la soluzione qui
PerseP

Grande! Avevo bisogno di cambiare il mio repository gitorious in repository git lab e questa soluzione era perfetta! Grazie!
Marcelo dos Santos,

Stessa situazione di OP, e ho dovuto farlo e poi la soluzione di @ MrHus.
Sean the Bean,

4
Questa è la risposta migliore IMHO
kratos

83

Se hai erroneamente nominato il nome locale come "origine", puoi rimuoverlo con il seguente:

git remote rm origin

Che cosa significa "erroneamente chiamato il nome locale di 'origine'" in realtà significa Può spiegare in dettaglio @Ozgur??
Yuan Wen

1
Ciò potrebbe significare che hai aggiunto l'origine remota che non punta a un repository git. Pertanto, se si prevede di inviare tutte le modifiche al master, git si lamenterà dicendo che l'origine remota non è un repository git.
Gautham Honnavara,

22

METHOD1->

Poiché l'origine esiste già rimuoverlo.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

METHOD2->

Si può anche cambiare l'URL del repository remoto esistente tramite -> git remote set-url

Se stai aggiornando per utilizzare HTTPS

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Se stai eseguendo l'aggiornamento per utilizzare SSH

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

Se provi ad aggiornare un telecomando che non esiste, riceverai un errore. Quindi stai attento.

METHOD3->

Utilizzare il comando git remote rename per rinominare un telecomando esistente. Un nome remoto esistente, ad esempio origine.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

Per verificare il nuovo nome del telecomando->

git remote -v

Se non conosci Git, prova questo tutorial->

PROVA TUTORIAL


1
Molte grazie. Sono stato scaricato, qualcun altro git e poi voleva clonarlo anche nel mio GitHub. Finalmente, ho successo usando il tuo primo metodo.
Naimur Hasan,

17

Puoi semplicemente modificare il tuo file di configurazione in un editor di testo.

Nel ~/.gitconfigdevi inserire qualcosa come il seguente:

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

Nel oldrep/.git/configfile (nel file di configurazione del tuo repository):

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

Se è presente una sezione remota nel file di configurazione del repository e l'URL corrisponde, è necessario solo aggiungere la configurazione push. Se si utilizza un URL pubblico per il recupero, è possibile inserire l'URL per il push come "pushurl" (avviso: ciò richiede la versione 1.6.4 di Git appena rilasciata).


10
  1. git remote rm origin

  2. git remote -v Non visualizzerà alcun nome di repository

  3. git remote add origin git@github.com:username/myapp.git

  4. git push origin master Inizierà il processo e creerà il nuovo ramo. Puoi vedere che il tuo lavoro è stato spinto su Github.


8

Non è necessario rimuovere il telecomando "origin" esistente, basta usare un nome diverso da "origin" per l'aggiunta remota, ad es

git remote aggiungi github git@github.com: myname / oldrep.git


8
git remote rm origin
git remote add origin git@github.com:username/myapp.git

6

Ho avuto lo stesso problema, ed ecco come l'ho risolto dopo aver fatto qualche ricerca:

  1. Scarica GitHub per Windows o usa qualcosa di simile, che include una shell
  2. Apri Git Shelldal menu attività. Questo aprirà una power shell che include i comandi Git.
  3. Nella shell, passa al vecchio repository, ad es cd C:\path\to\old\repository
  4. Mostra lo stato del vecchio repository

  5. Ora rimuovere il repository remoto dal repository locale usando

    git remote rm origin
    
  6. Controlla di nuovo con il passaggio 4. Dovrebbe essere visualizzato originsolo, anziché il percorso di recupero e push.

  7. Ora che il vecchio repository remoto è disconnesso, è possibile aggiungere il nuovo repository remoto. Utilizzare quanto segue per connettersi al nuovo repository.

Nota: se stai usando Bitbucket, dovresti prima creare un progetto su Bitbucket. Dopo la creazione, Bitbucket mostrerà tutti i comandi Git richiesti per inviare il repository al remoto, che assomigliano al frammento di codice successivo. Tuttavia, questo funziona anche per altri repository.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Questo è tutto.


5

Ho avuto lo stesso problema quando ho configurato per la prima volta usando Bitbucket .

Il mio problema era che avevo bisogno di cambiare la parola origine per qualcosa di auto-definito. Ho usato il nome dell'applicazione. Così:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

4

È necessario modificare il nome del repository remoto in qualcos'altro.

git remote add origin git@github.com:myname/oldrep.git

per

git remote add neworigin git@github.com:myname/oldrep.git

Penso che dovrebbe funzionare.

Sì, questi sono per l'inizial repository e l'aggiunta di un nuovo telecomando. Solo con un cambio di nome.


3

È inoltre possibile modificare il nome del repository che si desidera inviare nel file REPOHOME / .git / config

(dove REPOHOME è il percorso del clone locale del repository).


1

Questo può accadere anche quando ti dimentichi di fare un primo commit.


0

È necessario controllare origine aggiungere se non esiste.

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

Crea file check.sh, incolla lo script aggiorna l'URL del tuo repository git ed esegui ./check.sh.


0

Passo 1

git remote rm origin

Passo 2

git remote add origin enter_your_repository_url

Esempio:

git remote add origin https://github.com/my_username/repository_name.git

-1

Innanzitutto, scrivi questa riga di codice per il telecomando rimosso:

$ git remote rm origin

e quindi scrivi questa riga:

$ git remote add origin https://github.com/khadim321/React-Form.git

Funziona correttamente.


prova a fornire ulteriori spiegazioni al fine di fornire più valore alla tua risposta
Zeina,

Non sono sicuro se aiuta qualcuno ad aggiungere uno dei tuoi repository github come origine remota. Questa domanda ha già ricevuto risposta un paio di volte. Controlla l'altra domanda prima di crearne una nuova di qualità così bassa.
giovedì

-1

se vuoi creare un nuovo repository con lo stesso progetto all'interno di github e il telecomando precedente non ti consente di farlo in quel caso, prima elimina quel repository su github, devi semplicemente eliminare la cartella .git C: \ Users \ Shiva \ AndroidStudioProjects \ yourprojectname \ .git elimina quella cartella (assicurati di fare clic sul file nascosto perché questa cartella è nascosta)

Fai anche clic sul segno meno (pulsante Rimuovi) dallo studio Android Impostazioni-> VersionControl fai clic qui per rimuovere il controllo versione da Android E poi sarai in grado di creare un nuovo repository.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.