L'origine remota esiste già in "git push" in un nuovo repository
-
10-07-2019 - |
Domanda
Ho il mio progetto su GitHub in qualche posizione, git@github.com: myname / oldrep.git
.
Ora voglio trasferire tutto il mio codice in un nuovo repository in un'altra posizione, git@github.com: newname / newrep.git
.
Ho usato il comando:
git remote aggiungi origin git@github.com: myname / oldrep.git
ma sto ricevendo questo:
fatale: l'origine remota esiste già.
Soluzione
Questo errore viene visualizzato perché " origin " Non è disponibile. & Quot; origine " è una convenzione che non fa parte del comando. & Quot; origine " è il nome locale del repository remoto.
Ad esempio puoi 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/ Bar / software / scm / git / docs / git-remote.html
Per rimuovere un repository remoto inserisci:
git remote rm origin
Ancora una volta " origin " è il nome del repository remoto se lo si desidera rimuovi il " upstream " remoto:
git remote rm upstream
Altri suggerimenti
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 inserire il tuo nome utente e nome progetto
Se hai erroneamente chiamato il nome locale come " origin " ;, puoi rimuoverlo con il seguente:
git remote rm origin
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 di - > git remote set-url
Se si sta eseguendo l'aggiornamento per utilizzare HTTPS
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
Se si sta 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- >
Puoi semplicemente modificare il tuo file di configurazione in un editor di testo.
Nel ~ / .gitconfig
devi inserire qualcosa come il seguente:
[user]
name = Uzumaki Naruto
email = myname@example.com
[github]
user = myname
token = ff44ff8da195fee471eed6543b53f1ff
Nel file oldrep / .git / config
(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 nel file di configurazione del repository è presente una sezione remota 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).
Non è necessario rimuovere la tua " origin " esistente remoto, basta usare un nome diverso da " origin " per l'aggiunta remota, ad esempio
git remote aggiungi github git@github.com: mio nome / oldrep.git
Ho avuto lo stesso problema ed ecco come l'ho risolto dopo aver fatto qualche ricerca:
- Scarica GitHub per Windows o usa qualcosa di simile, che include una shell
- Apri
Git Shell
dal menu delle attività. Questo aprirà una power shell che include i comandi Git. - Nella shell, passa al vecchio repository, ad es.
cd C: \ path \ to \ old \ repository
-
Mostra lo stato del vecchio repository
-
Digita
git remote -v
per ottenere il percorso remoto per il recupero e il push remoto. Se il tuo repository locale è collegato a un telecomando, mostrerà qualcosa del genere:origin https: //user@bitbucket.org/team-or -user-name / myproject.git (recupero) origin https: //user@bitbucket.org/team-or-user- nome / myproject.git (push)
-
Se non è collegato, potrebbe mostrare solo
origin
.
-
-
Ora rimuovi il repository remoto dal repository locale usando
git remote rm origin
-
Verifica di nuovo con il passaggio 4. Dovrebbe mostrare solo
origin
, anziché il percorso di recupero e push. -
Ora che il vecchio repository remoto è disconnesso, è possibile aggiungere il nuovo repository remoto. Utilizzare quanto segue per connettersi al nuovo repository.
Nota: nel caso in cui si utilizzi Bitbucket, è innanzitutto necessario 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.
git remote rm origin
git remote add origin git@github.com:username/myapp.git
Ho avuto lo stesso problema quando ho configurato per la prima volta utilizzando Bitbucket .
Il mio problema era che avevo bisogno di cambiare la parola origine per qualcosa di auto-definito. Ho usato il nome dell'applicazione. Quindi:
git remote add AppName https://someone@bitbucket.org/somewhere/something.git
Dovresti cambiare il nome del repository remoto in qualcos'altro.
git remote add origin git@github.com:myname/oldrep.git
a
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.
Puoi anche cambiare il nome del repository che desideri spingere nel file REPOHOME / .git / config
(dove REPOHOME è il percorso del clone locale del repository).
git remote rm origin
git remote -v
Non visualizzerà alcun nome di repositorygit remote aggiungi origin git@github.com: username / myapp.git
git push origin master
Inizierà il processo e creerà il nuovo ramo. Puoi vedere che il tuo lavoro è stato spinto su github.
Questo può accadere anche quando si dimentica di effettuare un primo commit.
Apri su Android Studio > VCS > Git > Telecomandi Elimina tutti gli indirizzi che appariranno in questa sezione. Il problema si risolverà.