Follow

DĂ©butant avec , j’ai besoin d’un petit Ă©claircissement.

J’utilise git pour gĂ©rer un fichier de config disposant, en plus de master, de plusieurs branches : une par ordinateur, pour modifier Ă  la marge la config et l’adapter aux diffĂ©rentes machines.

Si j’apporte une modif dans master, comment la rĂ©percuter dans les autres branches sans fusionner ? (parce qu’avec la fusion, je "ferme" une branche, sauf erreur de ma part, or moi je veux toutes les conserver).

C’est possible ? Merci 🙂

· Web · 8 · 8 · 1

@jln

Réponse rapide : oui, c'est possible. Comment, je ne sais plus trop... Tu peux faire un merge sur un seul fichier, c'est sûr.

stackoverflow.com/questions/18

@jln

"Cherry-pick" est trĂšs puissant me semble t-il.

@jln Je n'ai pas la réponse à ta question, mais ce que tu veux faire me fait penser à github.com/twpayne/chezmoi/

@jln Je n'ai peut-ĂȘtre pas compris le problĂšme. La commande git merge ne supprime aucune branche : elle ne fait que modifier la branche courante. Du coup tel que je comprends le problĂšme, il faut faire la modification dans master, puis faire checkout et git merge master dans chacune des branches. â˜ș

@jln Si je comprends bien ton problÚme, tu cherches à faire un "rebase". C'est une fonctionnalité avancée. En gros, t'as ta branche master en commun et tes autres branches qui diffÚrent un peu (qui ont donc quelques commits supplémentaires). Tu fais ta modification sur master, puis tu "rebase"s tes autres branches par dessus. En gros, tu réappliques les commits au dessus de ta nouvelle version de master.

J'espÚre que ça t'aidera !
git-scm.com/book/fr/v2/Les-bra

@jln Non, la "fusion" (merge) ne ferme pas de branche. Les deux branches sont conservées. Les modifications de l'une sont fusionnée avec l'autre. Mais les deux branches existent toujours. J'espÚre que ça t'aide.

@jln tu peux tout Ă  fait merger sans supprimer la branche mergĂ©e (Ă  tester c'est peut-ĂȘtre un rĂ©glage, mais j'ai ce comportement chez moi par dĂ©faut en tout cas)

Autrement, cherry-pick te permet de récupérrer facilement des commits précis :)

@jln ça a déjà été dit mais le merge ne ferme pas la branche (gitlab a une option pour le faire, c'est tout).
Ce que tu cherches c'est rebase.
Merge va fusionner les branches (avec un commit qui ramÚne les modifications du master dans ton cas). Rebase va décaler le point de départ de ta branche.

Ta branche de modifications ne contiendra que les différences par rapport au master, et repartira à partir du dernier commit de master.

Sign in to participate in the conversation
Mastodon.zaclys.com

Mastodon by la mÚre zaclys association française