¿Hay alguna manera de forzar la creación de un repository remoto?

Estoy tratando de limpiar mi código y eliminar errores. Si corro:

git remote add godaddy $user1@foo.com:~/root.git 

yo obtengo

 fatal: remote godaddy already exists. 

Sé que existe, pero solo quiero que lo ignore y lo cree de nuevo.

Por ejemplo, puede suprimir los errores de mkdir con el -p

Revisé aquí pero no pude encontrar nada:

https://git-scm.com/docs/git-remote

Esto no es un duplicado ya que estoy buscando una opción de línea de command para suprimir el "error".

Esta es una solución general:

 function addGitRepos(){ local name1=godaddy local url1=$user1@foo.com:root.git if git remote | grep -w $name ; then git remote set-url $name1 $url1 else git remote add $name1 $url1 fi } 

Más tarde, si necesita más repositorys, puede crear matrices y un bucle para iterar a través de él.

Esto es sólo un punto de partida.

No puede decirle a Git que suprima el error; si ya existe, necesita eliminarlo y volver a agregarlo, o actualizar su URL. Suprimir el error para mkdir está bien, porque si existe no es necesario que lo haga. Con un control remoto Git no es cierto, porque el existente puede tener una URL diferente, por lo que ignorar el command no es correcto si falla.

Suponiendo que se trata de un script que está tratando de cambiar (de lo contrario, si se trata de un process manual en la línea de command, simplemente ignore el error y continúe con algo más importante), hay dos soluciones simples que puedo ver:

  1. compruebe primero el control remoto y actualícelo o añádalo, según corresponda:

    if git remote | grep -w godaddy ; then git remote set-url godaddy $user1@foo.com:root.git else git remote add godaddy $user1@foo.com:root.git fi

  2. simplemente intente agregarlo y, si eso falla, actualice la URL:

    git remote add godaddy $user1@foo.com:root.git || git remote set-url godaddy $user1@foo.com:~/root.git

Otra opción sería networkingirigir stderr a /dev/null y hacer que el command devuelva true, incluso git sale con un error, pero probablemente no sea una buena idea:

 git remote add godaddy $user1@foo.com:root.git 2>/dev/null || true 

git remote add godaddy $user1@foo.com:~/root.git

Cuando ejecuta este command, simplemente actualiza su file .git/config con la url dada. En su caso, ya tiene este nombre remoto en su file.

En este caso, puede hacer una de las siguientes cosas según sus necesidades.


control remoto

 # Add new (second) origin git remote add godaddy1 $user1@foo.com:~/root.git 

set-url remoto

 # replace the current origin git remote set-url godaddy $user1@foo.com:~/root.git 

Listar todos los controles remotos

 # List all remotes git remote -v 

Git incluye la posibilidad de enviar sus confirmaciones a diferentes controles remotos. Puede cambiar estos controles remotos, por ejemplo, si su server de desarrollo principal cambia. Por lo general, configura un control remoto y no tendrá que volver a cambiarlo.

Si desea enviar su código limpio al server, asegúrese de

  1. Confirme el Código git commit -am "Cleaned the code up"
  2. Empuja los cambios al server git push godaddy master

Si eres nuevo en git, probablemente no necesites git-remote .

 git remote remove godaddy 2>&- git remote add godaddy $user1@foo.com:~/root.git 

2>&- es como 2>/dev/null pero es más corto de escribir para los commands que se comportan bien con un logging de errores cerrado, que hace git.

Los otros commands aquí mantendrán cualquier otra configuration remota que pueda tener, lo que probablemente no será un problema, pero …