IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GIT Discussion :

merge -s subtree : merge ou overwrite?


Sujet :

GIT

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Points : 23
    Points
    23
    Par défaut merge -s subtree : merge ou overwrite?
    Bonjour bonjour!

    Jusqu'ici je travaillait avec git submodule, et je suis en train de me mettre a git subtree, vue comme la communauté en fait les louanges.
    A l'usage sur un projet de test j'ai rapidement vue l’intérêt de la maintenance des librairies évoluant a l’extérieur d'un projet..mais qu'en est il des améliorations apporter à l’intérieur d'un projet ?

    Exemple:
    Chien
    --poiles
    --canine
    --queue

    Chat
    --poiles
    --canine
    --queue

    Je travail dans le sous module "poile" du projet "chien". Une foi terminé, je pousse tout sa sur le serveur dans la branche master.
    En suite je vais dans chat, je travaille aussi sur le poile, je commit, et je push. Je veut maintenant apporter les amélioration que j'ai fait dans chien. Je bascule sur la pranche poile, je "pull", je retourne sur la branche master, et je merge avec la branche poile.

    Sois la succession de commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $: cd ./chien
    #on travail dans la subtree "poile" du projet chien
    $chien :git commit -am "fix: les poiles ne frise plus au contact de l'eau"
    $chien :git push origin master
    $chien :cd ../chat
    #on travail dans la subtree "poile" du projet chat
    $chat : git commit -am "les poiles sont maintenant doux et soyeux"
    $chat :git checkout branch_poile
    $chat: git pull
    $chat :git checkout master
    $chat : git merge --squash -s subtree --no-commit branch_poile
    Et je regarde le résultat: mon chat n'est plus doux et soyeux! si je le mouille, il ne frise plus, mais le merge avec la version distante mon écrasé les amélioration que j'ai fait localement.

    Est-ce le comportement normal, ou est-je oublié une étape?
    Si c'est le comportement normal, pourquoi? Quel est l'axe de travail qui nous est imposé ici? Et du coup peut on vraiment parler de "merge" ?

    Voila ce que j'ai trouvé si je veut conserver les modif en question:
    je doit passé dans branch_poile, merger avec master, puis tirer la version du serveur, repassé sur master, puis enfin merger branch_poile...ouf !

    Je trouve sa très dangereux: il faut donc absolument merger systématiquement toute les modifications faite localement dans les branch des subtree, sous pêne de perdre du travaille plus tard sans même s'en apercevoir ! Il suffit d'un oublie...
    Correct ou y a t'il une autre stratégie a adopté?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    Ah ah, je me répond a moi même:

    si je travail en local dans un subtree et que je commit, le commit appartient au projet, et non au repo du subtree...

    Après réflexion sa va me forcé a travaillé différemment:
    si je veut améliorer un repo utilisé en subtree, je vais m'obligé a la faire dans un projet de test dédié a ce repo...et les seul modifications que je m'autorise dans les autre projet dans un subtree, seront des fix de problème d’intégration.

    J'ai juste?

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/11/2012, 11h33
  2. Merge avec variables
    Par kluh dans le forum Oracle
    Réponses: 18
    Dernier message: 25/07/2005, 14h31
  3. merge replication : synchronisation
    Par nys_00 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/03/2005, 08h50
  4. Merge fichier
    Par OuBiEn dans le forum Linux
    Réponses: 2
    Dernier message: 17/02/2005, 15h44
  5. Shell - Merge de fichiers
    Par tesla dans le forum Linux
    Réponses: 4
    Dernier message: 29/06/2004, 02h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo