

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Comparez et fusionnez des branches dans AWS CodeCommit
<a name="how-to-compare-branches"></a>

Vous pouvez utiliser la CodeCommit console pour comparer les branches d'un CodeCommit référentiel. La comparaison des branches vous permet d'examiner rapidement les différences entre une branche et la branche par défaut, ou entre deux branches quelconques.

**Topics**
+ [Comparer une branche à la branche par défaut](#how-to-compare-branches-default)
+ [Comparez deux branches spécifiques](#how-to-compare-branches-two)
+ [Fusionner deux branches (AWS CLI)](#how-to-merge-branches-cli)

## Comparer une branche à la branche par défaut
<a name="how-to-compare-branches-default"></a>

Utilisez la CodeCommit console pour visualiser rapidement les différences entre une branche et la branche par défaut de votre référentiel.

1. Ouvrez la CodeCommit console sur [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Dans **Référentiels**, sélectionnez le nom du référentiel dans lequel vous voulez comparer des branches. 

1. Dans le volet de navigation, choisissez **Validations**, puis l'onglet **Comparer les validations**.

1. Dans **Destination**, choisissez le nom de la branche par défaut. Dans **Source**, choisissez la branche que vous souhaitez comparer à la branche par défaut. Choisissez **Comparer**.

## Comparez deux branches spécifiques
<a name="how-to-compare-branches-two"></a>

Utilisez la CodeCommit console pour afficher les différences entre les deux branches que vous souhaitez comparer.

1. Ouvrez la CodeCommit console sur [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Dans **Référentiels**, sélectionnez le nom du référentiel dans lequel vous voulez comparer des branches. 

1. Dans le volet de navigation, choisissez **Validations**, puis l'onglet **Comparer les validations**.

1. Dans **Destination** et **Source**, choisissez les deux branches à comparer, puis sélectionnez **Comparer**. Pour afficher la liste des fichiers modifiés, développez la liste correspondante. Pour vérifier les modifications, vous pouvez afficher les modifications côte à côte (vue fractionnée) ou en ligne (vue unifiée).
**Note**  
Si vous êtes connecté en tant qu'utilisateur IAM, vous pouvez configurer et enregistrer vos préférences pour l'affichage du code et d'autres paramètres de console. Pour de plus amples informations, veuillez consulter [Utilisation des préférences de l'utilisateur](user-preferences.md).  
![Vue abrégée des différences entre deux branches.](http://docs.aws.amazon.com/fr_fr/codecommit/latest/userguide/images/codecommit-compare-branches.png)

## Fusionner deux branches (AWS CLI)
<a name="how-to-merge-branches-cli"></a>

Vous pouvez fusionner deux branches d'un CodeCommit référentiel en AWS CLI utilisant l'une des stratégies de fusion disponibles en exécutant l'une des commandes suivantes :
+ Pour fusionner deux branches à l'aide de la stratégie de fusion rapide, exécutez la commande [**merge-branches-by-fast-forward**](#merge-branches-by-fast-forward).
+ Pour fusionner deux branches à l'aide de la stratégie de fusion d'écrasement, exécutez la commande [**merge-branches-by-squash**](#merge-branches-by-squash).
+ Pour fusionner deux branches à l'aide de la stratégie de fusion tridirectionnelle, exécutez la commande [**merge-branches-by-three-way**](#merge-branches-by-three-way).

Vous pouvez également tester les fusions en exécutant la commande **create-unreferenced-merge-commit**. Pour plus d'informations, consultez [Résolution des conflits dans une demande d'extraction](how-to-resolve-conflict-pull-request.md#create-unreferenced-merge-commit).

**Note**  
Pour utiliser AWS CLI des commandes avec CodeCommit, installez le AWS CLI. Pour de plus amples informations, veuillez consulter [Référence des commandes en ligne](cmd-ref.md). 

**Pour utiliser le AWS CLI pour fusionner deux branches dans un CodeCommit référentiel**

1. <a name="merge-branches-by-fast-forward"></a>Pour fusionner deux branches à l'aide de la stratégie de fusion rapide, exécutez la commande **merge-branches-by-fast-forward** en spécifiant : 
   + Nom de la branche source qui contient les modifications que vous souhaitez fusionner (avec l'option **--source-commit-specifier**). 
   + Nom de la branche de destination dans laquelle vous souhaitez fusionner vos modifications (avec l'option **--destination-commit-specifier**). 
   + Le nom du référentiel (avec l'option **--repository-name**).

    Par exemple, pour fusionner une branche source nommée {{bugfix-1234}} dans une branche de destination nommée {{preprod}} dans un référentiel nommé {{MyDemoRepo}} :

   ```
   aws codecommit merge-branches-by-fast-forward --source-commit-specifier {{bugfix-bug1234}} --destination-commit-specifier {{preprod}} --repository-name {{MyDemoRepo}}
   ```

   Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-squash"></a>Pour fusionner deux branches à l'aide de la stratégie de fusion d'écrasement, exécutez la commande **merge-branches-by-squash**, en spécifiant :
   + Nom de la branche source qui contient les modifications que vous souhaitez fusionner (avec l'option **--source-commit-specifier**). 
   + Nom de la branche de destination dans laquelle vous souhaitez fusionner vos modifications (avec l'option **--destination-commit-specifier**). 
   + Le nom du référentiel (avec l'option **--repository-name**).
   + Le message de validation à inclure (avec l'option **--commit-message**).
   + Le nom à utiliser pour la validation (avec l'option **--name**).
   + L'adresse e-mail à utiliser pour la validation (avec l'option **--email**).

   Par exemple, pour fusionner une branche source nommée {{bugfix-bug1234}} avec une branche de destination nommée {{bugfix-quarterly}} dans un référentiel nommé {{MyDemoRepo}} :

   ```
   aws codecommit merge-branches-by-squash --source-commit-specifier {{bugfix-bug1234}} --destination-commit-specifier {{bugfix-quarterly}} --author-name "{{Maria Garcia}}" --email "{{maria_garcia@example.com}}" --commit-message "{{Merging in fix branches to prepare for a general patch.}}" --repository-name {{MyDemoRepo}}
   ```

   Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-three-way"></a>Pour fusionner deux branches à l'aide de la stratégie de fusion tridirectionnelle, exécutez la commande **merge-branches-by-three-way** en spécifiant :
   + Nom de la branche source qui contient les modifications que vous souhaitez fusionner (avec l'option **--source-commit-specifier**). 
   + Nom de la branche de destination dans laquelle vous souhaitez fusionner vos modifications (avec l'option **--destination-commit-specifier**). 
   + Le nom du référentiel (avec l'option **--repository-name**).
   + Le message de validation à inclure (avec l'option **--commit-message**).
   + Le nom à utiliser pour la validation (avec l'option **--name**).
   + L'adresse e-mail à utiliser pour la validation (avec l'option **--email**).

   Par exemple, pour fusionner une branche source nommée {{main}} avec une branche de destination nommée {{bugfix-1234}} dans un référentiel nommé {{MyDemoRepo}} :

   ```
   aws codecommit merge-branches-by-three-way --source-commit-specifier {{main}} --destination-commit-specifier {{bugfix-bug1234}} --author-name "{{Jorge Souza}}" --email "{{jorge_souza@example.com}}" --commit-message "{{Merging changes from main to bugfix branch before additional testing.}}"  --repository-name {{MyDemoRepo}}
   ```

   Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```