Je viens de rebaser une branche de fonctionnalité sur une autre branche de fonctionnalité (en vue de la repassage de tout à la tête de mon maître), et cela impliquait de nombreuses résolutions de fusion délicates. P>
La REBASE est-elle automatiquement enregistrée comme un commettre quelque part? p>
Où vivent ces modifications? Je ne vois rien dans Gitk ou (même question pour quand je fusionne ma branche après la reconditionnement.) P> Git Journal --oneline Code>. P>
3 Réponses :
Oui, rebasses réussies et fusionne les commits. Ils ne feront qu'un commettre d'entre eux sont des conflits qui doivent être résolvés, mais la production de la Rebase (ou fusion) vous dira que cela s'est passé et comment le résoudre. P>
Pour une Rebase, il vous suffit de résoudre les conflits dans l'index puis de Pour une fusion, vous devez faire le commit ( Git Rebase --Continue Code>. P>
Git commettre code>), mais le fait que c'est une fusion sera mémorisé et un message de validation par défaut approprié sera fourni pour que vous puissiez modifier. < / p>
C'est la réponse dont j'avais besoin - courte et au point. J'apprécie les efforts plus longs pour leur valeur ajoutée, mais ils devraient vraiment inclure au moins un texte comme celui ci-dessus au début. Quand je suis plus audacieux, je suppose que je vais juste commencer à modifier des réponses afin que la réponse classée ait également une "réponse" dedans "de toute façon, je voulais vous remercier de répondre à la façon dont j'en ai répondu.
Rebase se déplace commet sur une autre branche. Si un engagement qui est déplacé des causes de conflit de fusions, ce commettre est modifié pour refléter la résolution de la fusion. P>
Le but de la Rebase fait que vos commits se tournent comme si elles étaient des changements à la succursale que vous rentriez. La manière la plus logique est donc d'intégrer des conflits de fusion à ces engagements. Aucun engagement supplémentaire n'est requis ainsi. P>
Fusionne est différent, car c'est une action explicite de la fusion de branches divergées ensemble. Aucun engagement dans chacune des branches n'est changé. La résolution des conflits est reflétée dans la fusion commit. P>
Dans les vieux jours (2006, avant 1.5.3 et Son manuel d'utilisation ), Un cas particulier de Donc, par définition, les commits seront faits (et aucun commis doit être effectué) P> Un cas particulier de Rebase est lorsque vous souhaitez diviser votre travail, en mouvement (et recréer de nouveaux ) commettre. Supposons que vous ayez mélangé le développement de deux caractéristiques de la tête actuelle, une succursale appelée "dev". p>
blockQuote> Vous voulez les diviser en "Dev1" et "Dev2". En supposant que ou simplement obtenir une liste brute des commits avec p>
blockQuote> De toute façon, supposons que vous découvriez une liste de commettre que vous souhaitez dans Vous pouvez utiliser l'autre moitié de la liste que vous avez éditée pour générer la branche Ceci trouvera toutes les correctifs qui sont dans git rebase code> était présenté comme si :
Ceci est fait par git-rebase code>.
Vous spécifiez la succursale à déplacer (par défaut tête code>) et où le déplacer (pas de valeur par défaut),
et: p>
git cherry-choisies code> chaque patch de cette branche, li>
Refs / Têtes /
Du même tutoriel (comme illustration de ne pas avoir besoin d'aucune autre commission après une Rebase): P>
tête code> est un maître de succursale, vous pouvez soit regarder à travers p>
blockQuote>
dev1 code> et créer cette branche: p>
blockQuote>
Dev2 CODE>, mais si vous n'êtes pas sûr si vous avez oublié quelque chose ou que vous n'avez tout simplement pas envie de faire ce travail manuel , alors vous pouvez utiliser Git-Rebase pour le faire pour vous. P>
blockQuote>
dev code> et non dans
dev1 code>, appliquez-les en haut de la maîtrise et appelez le résultat
Dev2 code> . p>
blockQuote>
Wow! c'est-à-dire qui souffle, dans les deux sens (incroyablement puissant et difficile de me faire tourner la tête)