git - remote add origin vs remote set-url origin

Creo un nuevo repositorio:

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

Luego quiero empujar mi commit al repositorio remoto vacío creado en github por lo que tengo que establecer remoto.

¿Cuál es la diferencia entre el uso de los siguientes comandos?

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

Al final realizo el push:

git push -u origin master

Edición1:

¿Qué ocurre cuando llamo a remote set-url origin justo después de git init? ¿Crea remote set-url origin el origen? Si el origen ya existe después de git init no hay ninguna diferencia entre el uso de esos comandos en mi escenario, ¿verdad?

se utiliza para añadir un nuevo control remoto:

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

a continuación se utiliza para cambiar la url de un repositorio remoto existente:

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

abajo empujará tu código a la rama maestra del repositorio remoto definido con origin y -u te permite apuntar tu rama local actual a la rama maestra remota:

git push -u origin master

Documentation

Comentarios (4)
  • Cuando se ejecuta git remote add origin git@github.com:User/UserRepo.git, se crea un nuevo remoto llamado origin.
  • Cuando se ejecuta git remote set-url origin git@github.com:User/UserRepo.git, git busca los remotos existentes con el nombre origin y cambia su url de repositorio remoto. Si git no puede encontrar ninguna remota con el nombre origin, dará un error fatal: No such remote 'origin'.

Si vas a crear un nuevo repositorio, utiliza git remote add origin git@github.com:User/UserRepo.git para añadir el remoto.

Comentarios (3)

Para añadir un nuevo remoto, utilice el comando git remote add en la terminal, en el directorio en el que se encuentra su repositorio.

El comando git remote set-url cambia la URL de un repositorio remoto existente.

Así que básicamente, remote add es para añadir uno nuevo, remote set-url es para actualizar uno existente

Comentarios (0)