Repositorios Git Merge
Mientras trabajamos en un proyecto con varios miembros del equipo con repositorios separados para cada equipo, en un momento determinado, nos enfrentamos a una situación en la que queremos combinar estos repositorios separados en un repositorio principal para implementar todo el trabajo utilizando un solo repositorio.
Luchar por fusionar varios repositorios en uno, incluso preservar su valioso historial del commit, parece difícil, pero en realidad no lo es. En este artículo, elaboraremos paso a paso cómo fusionar repositorios separados en un solo repositorio principal.
Pasos para fusionar repositorios en Git
Supongamos que tenemos tres repositorios: repo A
y repo B
, y luego tenemos un repo Z
, donde queremos fusionar A
y B
. Supongamos una cosa más que actualmente estamos en el directorio de repo Z
, donde queremos fusionar estos dos repositorios, A
y B
, en uno que es Z
.
Supongamos una cosa más; repo Z
es la rama master del repositorio.
- Agregar URL remotas
En este paso ejecutaremos el comando git remote add
con el atributo -f
; esto agregará un control remoto para repo A
, lo llamaremos repo A
.
```bash
git remote add -f remote-A <repo-A-URL>
```
Con la opción -f
, el comando git fetch <name>
se procesa inmediatamente después de configurar la información remota.
Seguiremos el mismo procedimiento descrito anteriormente para el repo B
.
```bash
git remote add -f remote-B <repo-B-URL>
```
- Combina archivos y carpetas
Ahora fusionaremos los archivos repo A
en la rama actual (repo Z
) usando el siguiente comando.
```bash
git merge remote-A/master --allow-unrelated-histories
```
Aquí agregaremos --allow-unrelated-histories
para que Git permita la fusión de historias no relacionadas.
Nuevamente se repetirá el mismo proceso para repo B
usando el siguiente comando.
```bash
git merge remote-B/master --allow-unrelated-histories
```
Si surgen algunos conflictos después de ejecutar el comando anterior, los resolveremos y luego confirmaremos la fusión con éxito.
- Ver el historial de commits
Ejecutaremos el siguiente comando git log
para ver el historial del commit fusionado, que sería nuestro paso final para ver todo el historial de fusión de varios repositorios.
```bash
git log
```
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn