SVN utiliza un único repositorio centralizado para servir como centro de comunicación para los desarrolladores, y la colaboración se lleva a cabo pasando conjuntos de cambios entre las copias de trabajo de los desarrolladores y el repositorio central. Esto es diferente del modelo de colaboración distribuida de Git, que le da a cada desarrollador su propia copia del repositorio, completa con su propio historial local y estructura de ramas. Los usuarios normalmente necesitan compartir una serie de confirmaciones en lugar de un único conjunto de cambios., En lugar de enviar un conjunto de cambios de una copia de trabajo al repositorio central, Git te permite compartir ramas enteras entre repositorios.
el comando git remote
es una pieza del sistema más amplio que es responsable de sincronizar los cambios. Los registros registrados a través del comando git remote
se utilizan junto con los comandos git fetch
, git push
y git pull
. Todos estos comandos tienen sus propias responsabilidades de sincronización que se pueden explorar en los enlaces correspondientes.,
git remote
el comando git remote
le permite crear, ver y eliminar conexiones a otros repositorios. Las conexiones remotas son más como marcadores en lugar de enlaces directos a otros repositorios. En lugar de proporcionar acceso en tiempo real a otro repositorio, sirven como nombres convenientes que se pueden usar para hacer referencia a una URL no tan conveniente.
por ejemplo, el siguiente diagrama muestra dos conexiones remotas de su repositorio al repositorio central y al repositorio de otro desarrollador., En lugar de hacer referencia a ellos por sus URL completas, puedes pasar los accesos directos origin y john a otros comandos de Git.
git remote usage overview
el comando git remote
es esencialmente una interfaz para administrar una lista de entradas remotas que se almacenan en el archivo ./.git/config
del repositorio. Los siguientes comandos se utilizan para ver el estado actual de la lista remota.
visualización de configuraciones remotas de git
git remote
enumere las conexiones remotas que tiene a otros repositorios.,
git remote -v
Mismo que el comando anterior, pero incluye la URL de cada conexión.
crear y modificar configuraciones remotas de git
el comando git remote
también es un método conveniente o ‘ayudante’ para modificar el archivo ./.git/config
de un repositorio. Los comandos presentados a continuación le permiten administrar conexiones con otros repositorios. Los siguientes comandos modificarán el archivo /.git/config
del repositorio., El resultado de los siguientes comandos también se puede lograr editando directamente el archivo ./.git/config
con un editor de texto.
git remote add <name> <url>
Crear una nueva conexión a un repositorio remoto. Después de agregar un control remoto, podrás usarlo como un atajo conveniente para otros comandos de Git.
git remote rm <name>
Retire la conexión con el repositorio remoto llamado .
git remote rename <old-name> <new-name>
cambiar el nombre de una conexión remota desde a .,
discusión remota de Git
Git está diseñado para dar a cada desarrollador un entorno de desarrollo completamente aislado. Esto significa que la información no se pasa automáticamente de un repositorio a otro. En lugar de ello, los desarrolladores necesitan extraer manualmente las confirmaciones de upstream en su repositorio local o enviar manualmente sus Confirmaciones locales al repositorio central. El comando git remote
es realmente una forma más fácil de pasar URL a estos comandos» compartidos».,
el control remoto de origen
cuando clona un repositorio con git clone
, crea automáticamente una conexión remota llamada origin que apunta de nuevo al repositorio clonado. Esto es útil para los desarrolladores que crean una copia local de un repositorio central, ya que proporciona una manera fácil de extraer cambios de origen o publicar confirmaciones locales. Este comportamiento también es la razón por la que la mayoría de los proyectos basados en Git llaman a su origen de repositorio central.
URL del repositorio
Git admite muchas formas de hacer referencia a un repositorio remoto., Dos de las formas más fáciles de acceder a un repositorio remoto son a través de los protocolos HTTP y SSH. HTTP es una forma fácil de permitir acceso anónimo de solo lectura a un repositorio. Por ejemplo:
But, it’s generally not possible to push commits to an HTTP address (you wouldn’t want to allow anonymous pushes anyways). For read-write access, you should use SSH instead:
ssh://user@host/path/to/repo.git
necesitará una cuenta SSH válida en la máquina host, pero aparte de eso, Git admite el acceso autenticado a través de SSH desde el primer momento. Modernas soluciones de hosting seguras de terceros como Bitbucket.com proporcionará estas URL para usted.
Git remoto comandos
El git remote
comando es uno de los muchos comandos de Git que toma adicional anexa ‘subcomandos’., A continuación se muestra un examen de los subcomandos comúnmente utilizados git remote
.
ADD <NAME> <URL>
Agrega un registro a ./.git/config
remoto con el nombre de la url del repositorio .
acepta una opción -f
, que git fetch
inmediatamente después de crear el registro remoto.
acepta una opción --tags
, que git fetch
inmediatamente e importa cada etiqueta desde el repositorio remoto.,
RENAME <OLD> <NEW>
Actualizaciones ./.git/config
para cambiar el nombre del registro . Se actualizan todas las ramas de seguimiento remoto y los ajustes de configuración del control remoto.
REMOVE or RM <NAME>
Modifica ./.git/config
y elimina el control remoto llamado . Se eliminan todas las ramas de seguimiento remoto y los ajustes de configuración del control remoto.
GET-URL <NAME>
las Salidas de la Url de un registro remoto.
Acepta --push
, las URL push se consultan en lugar de buscar URL.,
Con --all
, se listarán todas las URL del control remoto.
SHOW <NAME>
emite información de alto nivel sobre el control remoto .
PRUNE <NAME>
elimina cualquier rama local que no esté presente en el repositorio remoto.
acepta una opción--dry-run
que listará qué ramas se configurarán para ser podadas, pero en realidad no las podará.
ejemplos remotos de Git
Además de origin, a menudo es conveniente tener una conexión con los repositorios de tus compañeros de equipo., Por ejemplo, si su compañero de trabajo, John, mantiene un repositorio de acceso público en dev.example.com/john.git
, puede agregar una conexión de la siguiente manera:
git remote add john http://dev.example.com/john.git
tener este tipo de acceso a repositorios de desarrolladores individuales hace posible colaborar fuera del repositorio central. Esto puede ser muy útil para equipos pequeños que trabajan en un proyecto grande.
mostrando sus controles remotos
de forma predeterminada, el comandogit remote
mostrará una lista de conexiones remotas previamente almacenadas a otros repositorios., Esto producirá una salida de una sola línea que enumera los nombres del nombre «marcador» de los repositorios remotos.
$ git remote
origin
upstream
other_users_repo
invocar git remote
con la opción -v
imprimirá la lista de nombres de repositorio marcados y, además, la URL del repositorio correspondiente. La opción -v
significa «verbose». A continuación se muestra un ejemplo de salida de verbose git remote
salida.
agregar repositorios remotos
el comando git remote add
creará un nuevo registro de conexión a un repositorio remoto., Después de agregar un control remoto, podrás usarlo como un atajo conveniente para otros comandos de Git. Para obtener más información sobre la sintaxis de URL aceptada, consulte la sección «URL del repositorio» a continuación. Este comando creará un nuevo registro dentro del repositorio ./.git/config
. Un ejemplo de esta actualización de archivo de configuración es el siguiente:
inspección de un control remoto
el subcomando show se puede agregar a git remote
para dar una salida detallada sobre la configuración de un control remoto., Esta salida contendrá una lista de ramas asociadas con el control remoto y también los puntos finales adjuntos para obtener y enviar.
git remote show upstream
* remote upstream
Fetch URL: https://bitbucket.com/upstream_user/reponame.git
Push URL: https://bitbucket.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
obtener y extraer de los controles remotos de Git
Una vez que se ha configurado un registro remoto mediante el uso del comando git remote
, el nombre remoto se puede pasar como argumento a otros comandos de Git para comunicarse con el repositorio remoto. Tanto git fetch
, como git pull
se pueden usar para leer desde un repositorio remoto., Ambos comandos tienen diferentes operaciones que se explican en profundidad en sus respectivos enlaces.
Pushing to Git remotes
el comando git push
se usa para escribir en un repositorio remoto.
git push <remote-name> <branch-name>
Este ejemplo cargará el estado local de al repositorio remoto especificado por .
cambiar el nombre y eliminar controles remotos
git remote rename <old-name> <new-name>
el comandogit remote
cambiar el nombre es autoexplicativo. Cuando se ejecuta, este comando cambiará el nombre de una conexión remota de a., Además, esto modificará el contenido de ./.git/config
para cambiar el nombre del registro para el control remoto allí también.
git remote rm <name>
El comando git remote rm
va a quitar la conexión con el repositorio remoto especificado por el parámetro. Para demostrar vamos a ‘deshacer’ la adición remota de nuestro último ejemplo. Si ejecutamos git remote rm remote_test
y, a continuación, examine el contenido del ./.git/config
podemos ver que el registro ya no está allí.