git - remote add origin vs remote set-url origin

Creo un nuovo repository:

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

Poi voglio spingere 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

Modifica1:

Cosa succede quando chiamo remote set-url origin subito dopo git init? Remote set-url origin crea origin? Se origin esiste già dopo git init non c'è differenza tra l'uso di questi comandi nel mio scenario, giusto?

sotto è usato per aggiungere un nuovo telecomando:

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

sotto è usato per cambiare l'url di un repository remoto esistente:

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

sotto spingerà il tuo codice al ramo master del repository remoto definito con origin e -u ti permette di puntare il tuo attuale ramo locale al ramo master remoto:

git push -u origin master

Documentation

Commentari (4)
  • Quando si esegue git remote add origin git@github.com:User/UserRepo.git, viene creato un nuovo remoto chiamato origin.
  • Quando si esegue git remote set-url origin git@github.com:User/UserRepo.git, git cerca un remoto esistente con nome origin e lo cambia nell'url del repository remoto. Se git non è in grado di trovare alcun remoto con nome origin, solleva un errore fatal: No such remote 'origin'.

Se stai per creare un nuovo repository allora usa git remote add origin git@github.com:User/UserRepo.git per aggiungere il remoto.

Commentari (3)

Per aggiungere un nuovo remoto, usa il comando git remote add nel terminale, nella directory in cui è memorizzato il tuo repository.

Il comando git remote set-url cambia l'URL di un repository remoto esistente.

Quindi, di base, remote add è per aggiungerne uno nuovo, remote set-url è per aggiornarne uno esistente

Commentari (0)