Cómo pagar una sucursal remota de Git
Publicado: 2023-01-23Si su equipo de desarrollo usa Git, eventualmente necesitará verificar el trabajo de otra persona como una rama desde un repositorio remoto. Como la mayoría de las acciones de sucursal en Git, cambiar a una sucursal remota es bastante simple.
Git, sucursales y controles remotos
Encontrar sus sucursales locales
Comprobación de una sucursal remota
Manejo de conflictos de nombres
Manejo de múltiples repositorios remotos
Antes de pagar
Git, sucursales y controles remotos
La filosofía de Git es bifurcarse a menudo. Las ramas permiten que se lleve a cabo el desarrollo sin alterar la base del código principal. Cuando esté satisfecho de que su nuevo código probado está listo, fusione su nueva rama en otra rama. Por lo general, esta es la rama principal o maestra, pero puede fusionar dos ramas cualesquiera.
Debido a esta flexibilidad, y la forma ligera y rápida en que Git maneja las ramificaciones y fusiones, se transformó la ramificación. En los sistemas de control de versiones anteriores, la ramificación era un gran problema. La ramificación y la fusión eran lentas y propensas a errores. Git les dio a los desarrolladores una bifurcación fácil y rápida que se usa para respaldar muchos flujos de trabajo diferentes.
Si trabaja o se ofrece como voluntario como parte de un equipo de desarrollo que usa Git, tendrá un repositorio de Git "central", alejado de la computadora de cada ingeniero de software. Esto se conoce como el repositorio remoto, o simplemente el "remoto". Es donde se envían las confirmaciones y los cambios a su repositorio local cuando realiza una inserción.
Por supuesto, eso es lo que están haciendo los otros desarrolladores también. Esto facilita la colaboración. Si necesita acceder al trabajo de otro desarrollador, simplemente recupere su código de una sucursal en el repositorio remoto. Si necesitan acceder a su trabajo, recuperarán su código de una sucursal en el repositorio que rastrea una de sus sucursales locales.
En Git, un proyecto de desarrollo puede tener varios controles remotos. Sin embargo, una sucursal local solo puede rastrear una única sucursal remota. Por lo tanto, mientras esté trabajando con el control remoto apropiado, verificar una sucursal remota con varios controles remotos es lo mismo que usar un solo control remoto.
Encontrar sus sucursales locales
Es necesario evitar conflictos de nombres. Si tiene una sucursal local que tiene el mismo nombre que la sucursal remota que va a verificar, tiene dos opciones. Puede cambiar el nombre de su sucursal local y consultar la sucursal remota. De esa forma, su sucursal local que rastrea la sucursal remota tiene el mismo nombre que la sucursal remota. O bien, puede verificar la rama remota y decirle a Git que cree una rama de seguimiento local con un nuevo nombre.
Para averiguar los nombres de las sucursales en su repositorio local, use el comando git branch
.
rama git
Este repositorio local tiene una rama maestra y otras tres ramas. El asterisco indica cuál es la rama actual. Pasar de una sucursal a otra requiere verificar la sucursal con la que desea trabajar.
nueva característica de git checkout
estado de Git
El primer comando cambia la rama por nosotros, de modo que "nueva característica" es la rama actual. El comando git status
verifica eso por nosotros.
Podemos saltar de una sucursal a otra, realizar nuevos cambios, extraer actualizaciones del control remoto y enviar actualizaciones locales al control remoto.
RELACIONADO: Cómo actualizar y mantener ramas separadas de Git
Comprobación de una sucursal remota
Hay una rama en el repositorio remoto que no está presente en nuestra máquina. Una desarrolladora llamada Mary ha creado una nueva característica. Queremos cambiar a esa sucursal remota para poder construir esa versión del software localmente.
Si realizamos una fetch
, Git recuperará los metadatos del repositorio remoto.
buscar
Debido a que esta es la primera fetch
que hemos hecho desde que Mary empujó su rama al repositorio remoto, se nos dice que hay una nueva rama llamada "origin/mary-feature". El nombre predeterminado para el primer repositorio remoto agregado a un proyecto es "origen".
Ya sea que veamos este mensaje o no, siempre podemos pedirle a Git que enumere las ramas en el repositorio remoto.
La opción -r
(remoto) le dice a Git que informe sobre las ramas que están en el repositorio remoto.
git rama -r
El punto a tener en cuenta aquí es que Git está verificando su copia local de los metadatos del control remoto. Es por eso que usamos el comando git fetch
para asegurarnos de que la copia local de los metadatos esté actualizada.
Una vez que localizamos la sucursal que queremos, podemos seguir adelante y verificarla. Usamos el comando git checkout
con la opción -b
(sucursal), seguido del nombre que usaremos para la sucursal local, seguido del nombre de la sucursal remota.
git checkout -b mary-feature origin/mary-feature
Podemos ver que revisamos la rama remota y creamos una rama local que rastreará los cambios en la rama remota.
rama git
Nuestra nueva sucursal local es ahora nuestra sucursal de trabajo actual.
Manejo de conflictos de nombres
Si tiene una sucursal local que tiene el mismo nombre que la sucursal remota, puede cambiar el nombre de su sucursal local antes de verificar la sucursal remota, o verificar la sucursal remota y especificar un nombre de sucursal local diferente.
Para retirar la sucursal remota en una sucursal local con un nombre diferente, podemos usar el mismo comando que usamos anteriormente y elegir un nuevo nombre de sucursal local.
git checkout -b mary-test origen/mary-característica
Esto crea una rama local llamada "mary-test" que rastreará las confirmaciones locales en esa rama. Las pulsaciones irán a la rama remota "origin/mary-feature".
Esta es probablemente la mejor manera de manejar los conflictos de nombres locales. Si realmente desea mantener el mismo nombre de la sucursal local y remota, deberá cambiar el nombre de su sucursal local antes de verificar la remota. Cambiar el nombre de una rama es trivial en Git.
git branch -m mary-feature antigua-mary-branch
Ahora puede verificar la rama remota "origin/mary-feature".
Manejo de múltiples repositorios remotos
Si tiene varios repositorios remotos configurados, debe tener cuidado de estar trabajando con el repositorio apropiado cuando desproteja la sucursal remota.
Para enumerar sus repositorios remotos, use el comando remote
con la opción -v
(ver).
git remoto -v
Para ver todas las sucursales disponibles, debemos obtener los metadatos de todos nuestros controles remotos y luego enumerar las sucursales remotas.
git fetch --todos
rama git --todos
Podemos ver que la sucursal que queremos está en el control remoto "origen". El comando para comprobarlo está en el mismo formato que ya hemos usado. Necesitamos especificar el nombre remoto, "origen", así como el nombre de la sucursal, "mary-feature".
git checkout -b mary-feature origin/mary-feature
RELACIONADO: Cómo cambiar, agregar y eliminar controles remotos de Git
Antes de pagar
Antes de pagar, tenga en cuenta algunas cosas y estará bien.
Asegúrese de evitar conflictos de nombres. Si tiene una sucursal local con el mismo nombre que la sucursal remota, decida si cambiará el nombre de la sucursal local o creará una sucursal con un nombre diferente para rastrear la sucursal remota.
Si usa varios repositorios remotos, asegúrese de usar el remoto correcto.
RELACIONADO: Git rebase: Todo lo que necesitas saber