git - aggiungi l'origine remota rispetto all'origine set-url remota


413

Creo un nuovo repository:

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

Quindi voglio inviare il mio commit al repository remoto vuoto creato su github, quindi devo impostare remote.

Qual è la differenza tra l'utilizzo dei seguenti comandi? :

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

Alla fine eseguo push:

git push -u origin master

Edit1:

Cosa succede quando chiamo l'origine set-url remota subito dopo git init? L'origine set-url remota crea l'origine? Se l'origine esiste già dopo git init non c'è alcuna differenza tra l'utilizzo di quei comandi nel mio scenario, giusto?

Risposte:


509

di seguito viene utilizzato per aggiungere un nuovo telecomando:

git remote add origin git@github.com:User/UserRepo.git

di seguito viene utilizzato per modificare l'URL di un repository remoto esistente:

git remote set-url origin git@github.com:User/UserRepo.git

di seguito spingerà il tuo codice nel ramo principale del repository remoto definito con origine -uti consentirà di indirizzare il tuo ramo locale corrente al ramo principale remoto:

git push -u origin master

Documentazione


se clonare da A al mio locale e quindi uso "git remote set-url B". eliminerà il repository in A? Sto provando a clonare un repository dal commit del codice AWS su GitLab
Josh,

di solito, quando sto creando un nuovo repository, commetto un errore e imposto l'origine sull'upstream. Finisci per correggerlo usando il 2 ° comandogit remote set-url origin git@github.com:User/UserRepo.git
Honey

-u ti permetto di indirizzare il tuo attuale ramo locale verso il ramo principale remoto Non capisco perché vorrei farlo. Voglio dire, diciamo che ho ritirato dal master, creato un nuovo featureBranch ... ho eseguito il commit delle mie modifiche e poi ho inviato le mie modifiche a origin / featureBranch e poi ho unito / inserito quella funzione nel mio master. <- al momento non ho finito con il mio featureBranch? Perché dovrei aver bisogno di puntare al ramo principale remoto? Non dovrei effettuare il checkout su local / master e quindi estrarre dall'ultima origine?
Miele

La risposta è molto buona, tranne la spiegazione della -ubandiera, che è, a mio avviso, fuorviante. Per una spiegazione della -ubandiera, consiglierei di dare un'occhiata a questa discussione stackoverflow.com/questions/18867824/…
hoang tran,

e -u ti permetto di indirizzare il tuo attuale ramo locale verso il ramo principale remoto: non capisco questa linea ... Cosa intendevi indicare?
Piove il

62
  • Quando si esegue git remote add origin git@github.com:User/UserRepo.git, quindi un nuovo telecomando creato denominato origin.
  • Quando esegui git remote set-url origin git@github.com:User/UserRepo.git, git cerca il nome remoto esistente origine cambia l'URL del repository remoto. Se git non riesce a trovare alcun telecomando con nome origin, genera un errore fatal: No such remote 'origin'.

Se si intende creare un nuovo repository, utilizzare git remote add origin git@github.com:User/UserRepo.gitper aggiungere remoto.


Si prega di consultare Modifica1
Irbis

git initnon aggiunge alcuna origine. Verrà inizializzato solo il repository git. Se clonate un repository esistente, ha un'origine remota. La raccomandazione è l'uso git add, dopo git initnon set-url.
Ram

@Ram È ovvio non chiamare set-url dopo git init in quanto non ha senso. set-url deve cambiare e aggiungere è per aggiungere un nuovo telecomando.
Santosh,

61

Di seguito reinizializzerà il tuo repository locale; anche la cancellazione dei repository remoti (ovvero origine):

git init

Quindi di seguito, creerà 'origine' se non esiste:

git remote add origin [repo-url]

Altrimenti, è possibile utilizzare il set-urlsottocomando per modificare un telecomando esistente:

git remote set-url origin [repo-url]

Inoltre, puoi controllare i telecomandi esistenti con

git remote -v

Spero che sia di aiuto!


1
git remote set-url origin ...su un repository appena avviato mi è arrivato il messaggio fatale: nessuna "origine" così remota. git remote add origin ...lavorato.
Robb Vandaveer,

@RobbVandaveer Grazie per la cattura! Ho aggiornato la risposta per l'uso corretto del sottocomandoset-url
vpibano

32

git remote add=> AGGIUNGE un nuovo telecomando.

git remote set-url=> AGGIORNA il telecomando esistente.


  1. Il nome remoto che viene dopo addè un nuovo nome remoto che non esisteva prima di quel comando.
  2. Il nome remoto che viene dopo set-urldovrebbe già esistere come nome remoto nel repository.

git remote add myupstream someurl => il nome remoto myupstream non esisteva ora creandolo con questo comando.

git remote set-url upstream someurl => nome remoto upstream esiste già sto solo cambiando il suo url.


git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream

30

Per aggiungere un nuovo telecomando, utilizzare il git remote addcomando sul terminale, nella directory in cui è archiviato il repository.

Il git remote set-urlcomando modifica un URL del repository remoto esistente.

Quindi, in sostanza, remote addè quello di aggiungerne uno nuovo, remote set-urlè quello di aggiornarne uno esistente


28

1. git remote add origin git@github.com:User/UserRepo.git

  • Questo comando è il secondo passo della serie di comandi dopo aver inizializzato git nel tuo attuale repository funzionante usando git init .
  • Questo comando significa semplicemente "stai aggiungendo la posizione del tuo repository remoto in cui desideri spingere / estrarre i tuoi file da / a !! .."
  • Il tuo repository remoto potrebbe essere ovunque su github, gitlab, bitbucket, ecc.
  • Ecco originun alias / nome alternativo per il tuo repository remoto in modo da non dover digitare l'intero percorso per il telecomando ogni volta e d'ora in poi stai dichiarando che userai questo nome (origine) per fare riferimento al tuo telecomando. Questo nome potrebbe essere qualsiasi cosa.
  • Per verificare che il telecomando sia impostato correttamente, digitare: git remote -v

    O git remote get-url origin

2. git remote set-url origin git@github.com:User/UserRepo.git

Questo comando significa che se accidentalmente si spinge per la prima volta in un repository errato, è possibile "ripristinare il percorso del repository remoto" utilizzando il comando precedente.

3. git push -u remote master

Questo comando trasferisce semplicemente i tuoi file nel repository remoto. Git ha un concetto di qualcosa noto come "ramo" , quindi per impostazione predefinita tutto viene inviato al master ramo meno che non venga specificato esplicitamente un ramo alternativo.

Per conoscere l'elenco di tutti i rami presenti nel tipo di repository:git branch


10

Prova questo:

git init  
git remote add origin your_repo.git  
git remote -v  
git status  

7

Non è possibile chiamare remote set-url originsubito dopogit init , poiché il git remote set-urlcomando non crea origine, ma modifica un URL di repository remoto esistente .

quindi il comando git remote set-urlfunzionerà solo se hai clonato il repository o aggiunto manualmente un telecomando chiamato origin.

puoi controllare remoto con il comando git remote -vmostrerà l'URL remoto dopo il nome, o se questo comando dà un errore come fatal: Not a git repository (or any of the parent directories): .gitallora il repository non esiste, quindi devi aggiungere l'origine con il comandogit remote add

1. git remote add

Questo comando viene utilizzato per aggiungere un nuovo telecomando, è possibile utilizzare questo comando sul terminale, nella directory del proprio repository.

Il comando git remote add accetta due argomenti:

  1. Un nome remoto , ad esempio origine
  2. Un URL remoto , ad esempio, https://github.com/user/repo.git

Per esempio:

git remote add origin https://github.com/user/repo.git

2.git remote set-url

Il comando git remote set-url modifica un URL del repository remoto esistente.

Il comando git remote set-url accetta due argomenti:

  1. Un nome remoto esistente . Ad esempio, origino upstreamsono due scelte comuni.
  2. Un nuovo URL per il telecomando

Ad esempio, puoi modificare l'URL del tuo telecomando da SSH a HTTPS con il git remote set-urlcomando.

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

puoi verificare che l'URL remoto sia cambiato, con il comando git remote -v.

nota: "origin" è una convenzione che non fa parte del comando. "origine" è il nome locale del repository remoto. puoi usare qualsiasi nome invece di "origine".

Per esempio:

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

Riferimenti da github: aggiunta remota , set-url remoto


0

se si dispone di un progetto esistente e si desidera aggiungere l'URL del repository remoto, è necessario eseguire il comando seguente

git init

se desideri aggiungere il file readme.md, puoi crearlo e aggiungerlo usando il comando seguente.

git add README.md

effettua il tuo primo commit usando il comando seguente

git commit -m "first commit"

Ora hai completato tutto il processo di repository locale, ora come aggiungi l'URL del repository remoto? controlla sotto il comando questo è per ssh url, puoi cambiarlo per https.

git remote add origin git@github.com:user-name/repository-name.git

Come fai il tuo primo commit vedi sotto il comando :

git push -u origin master
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.