Logo Git

Lier une branche Git locale à la branche remote correspondante

Publié dans Geekeries | Marqué avec , , ,
Share

Quel est le problème ?

Imaginez que vous avez créé une branche sur votre reposiroty Git nommée « MaBrancheAMoi ». Et que lorsque vous désirez faire un « pull », Git vous renvoit le message d’erreur suivant :

You asked me to pull without telling me which branch you
want to merge with, and ‘branch.MaBrancheAMoi.merge’ in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. ‘git pull ‘).

Ce qui le plugin EGit d’Eclipse nous traduit généralement par le message d’erreur suivant :

no values for key « branch.MaBrancheAMoi.merge » found in configuration

Cela est dû au fait que vous avez une branche locale, mais Git ne peut pas savoir avec quelle branche en ligne (remote) la lier.

Généralement, en local vous avez toujours une branche « master » qui correspond à la branche remote « origin/master ». On a la configuration suivante :

branch.master.merge = refs/heads/master
branch.master.remote = origin

Remarquez que pour la configuration « remote », on précise simplement « origin », ce qui signifie « origin/<nom de la branche> », donc ici « origin/master ».

La configuration pour une nouvelle branche est censée se faire automatiquement, mais ce n’est visiblement pas le cas tout le temps (je n’ai pas encore eu le temps d’aller plus loin à ce sujet), et c’est pourquoi une erreur peut se produire. Pour corriger le problème il faut donc ajouter la configuration suivante:

branch.MaBrancheAMoi.merge = refs/heads/MaBrancheAMoi
branch.MaBrancheAMoi.remote = origin

Corriger le problème via Eclipse

Ce qui se fait facilement sur Eclipse : dans Window > Preferences > Team > Git onglet « Repository Settings », sélectionner le bon repository et cliquer sur « New Entry… » :

Configuration de Git dans Eclipse

Ajouter une valeur de configuration à Git dans Eclipse

Key : branch.MaBrancheAMoi.merge
Value : refs/heads/MaBrancheAMoi

Puis à nouveau :

Key : branch.MaBrancheAMoi.remote
Value : origin

Corriger le problème directement via Git

Pour corriger ce problème (et apprendre à gérer les branches par la même occasion) en ligne de commandes, vous pouvez lire : Adding And Removing Remote Branches.

One Response to Lier une branche Git locale à la branche remote correspondante

Répondre à Sonix Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *