---
sidebar_position: 2
title: "Développement & Rebasage"
---

# Développement & Rebasage

---

## Étape 5 — Travailler sur la Tâche

- Implémentez les modifications requises par la tâche sur votre branche de fonctionnalité.
- Committez votre travail au fur et à mesure avec des messages de commit clairs et descriptifs :

```bash
git add .
git commit -m "#<numéro_de_tâche> - Description courte de ce qui a été fait"
```

Par exemple :

```bash
git commit -m "#42 - Ajout de la fonctionnalité d'exportation de stock vers Excel"
```

> Vous pouvez avoir autant de commits que nécessaire sur votre branche de fonctionnalité.

## Étape 6 — Mettre à Jour `dev` à Nouveau Avant le Rebasage

Avant de rebaser, récupérez les derniers changements du dépôt distant afin que votre rebasage soit basé sur l'état le plus actuel de `dev` :

```bash
git checkout dev
git pull
```

> Cette étape est cruciale. Si un autre développeur a poussé sur `dev` pendant que vous travailliez, vous avez besoin de ces changements avant de rebaser, sinon vous risquez d'introduire des conflits ou d'écraser du travail.

## Étape 7 — Revenir sur Votre Branche de Fonctionnalité

```bash
git checkout feature/<numéro_de_tâche>
```

## Étape 8 — Rebaser la Branche de Fonctionnalité sur `dev`

```bash
git rebase dev
```

Cela rejoue vos commits par-dessus le dernier `dev`, comme si vous aviez commencé votre travail à partir de l'état actuel de la branche. Le résultat est un historique propre et linéaire, sans commits de fusion (merge commits) inutiles provenant d'états intermédiaires.

> Si des conflits surviennent pendant le rebasage :
> 1. Git fera une pause et montrera quels fichiers présentent des conflits.
> 2. Ouvrez les fichiers en conflit, résolvez les conflits manuellement.
> 3. Ajoutez les fichiers résolus à la zone de staging :
> ```bash
> git add <fichier>
> ```
> 4. Continuez le rebasage :
> ```bash
> git rebase --continue
> ```
> 5. Répétez jusqu'à ce que le rebasage soit terminé.
>
> Si vous devez abandonner et recommencer :
> ```bash
> git rebase --abort
> ```
