Fusion de dépôts avec Git

Abdul Jabbar 23 aout 2022
Fusion de dépôts avec Git

En travaillant sur un projet avec différents membres d’équipe avec des référentiels séparés pour chaque équipe, à un certain moment, nous nous retrouvons dans une situation où nous voulons combiner ces référentiels séparés dans un référentiel maître pour déployer tout le travail à l’aide d’un référentiel unique.

Lutter pour fusionner divers référentiels en un seul, même préserver son précieux historique de validation semble difficile, mais ce n’est pas le cas. Dans cet article, nous expliquerons étape par étape comment fusionner des référentiels distincts en un seul référentiel maître.

Étapes pour fusionner des référentiels dans Git

Supposons que nous ayons trois dépôts : repo A et repo B, puis nous avons un repo Z, où nous voulons fusionner A et B. Supposons encore une chose que nous sommes actuellement dans le répertoire de repo Z, où nous voulons fusionner ces deux dépôts, A et B, en un seul qui est Z.

Supposons encore une chose ; repo Z est la branche principale du référentiel.

  1. Ajouter des URL distantes

Dans cette étape, nous allons lancer la commande git remote add avec l’attribut -f ; cela ajoutera une télécommande pour repo A, nous le nommerons repo A.

```bash
git remote add -f remote-A <repo-A-URL>
```

Avec l’option -f, la commande git fetch <name> est exécutée immédiatement après la mise en place des informations distantes.

Nous suivrons la même procédure décrite ci-dessus pour le repo B.

```bash
git remote add -f remote-B <repo-B-URL>
```
  1. Combinez des fichiers et des dossiers

Nous allons maintenant fusionner les fichiers repo A dans la branche actuelle (repo Z) à l’aide de la commande suivante.

```bash
git merge remote-A/master --allow-unrelated-histories
```

Ici, nous allons ajouter --allow-unrelated-histories afin que Git autorise la fusion d’historiques non liés.

Encore une fois, le même processus sera répété pour repo B en utilisant la commande suivante.

```bash
git merge remote-B/master --allow-unrelated-histories
```

Si des conflits surviennent après l’exécution de la commande ci-dessus, nous les résoudrons, puis validerons la fusion avec succès.

  1. Afficher l’historique des commits

Nous allons exécuter la commande suivante git log pour afficher l’historique de validation fusionné, ce qui serait notre dernière étape pour afficher tout l’historique de fusion des différents référentiels.

```bash
git log
```
Auteur: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

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

Article connexe - Git Merge