Tester l’avance rapide
Si main est un ancêtre de feature, la fusion déplace seulement le pointeur main. Le graphe n’ajoute pas de commit de fusion à deux parents dans ce cas.
Git & Version Control
Choisissez un exemple et observez le résultat sans ouvrir ni modifier de dépôt.
A–D et les primes sont des identifiants pédagogiques, pas des hash Git.
Choisissez un exemple et une opération pour voir le résultat ici.
Seul le graphe pédagogique fixe est traité dans ce navigateur; aucun dépôt n’est lu ni contacté.
Branche cible: main · Branche source: feature
Ctrl/Cmd + Entrée prévisualise l’opération choisie.
Choisissez une opération à prévisualiser.
Ce graphe modélise des fichiers fixes d’une ligne, pas la stratégie de fusion de votre dépôt.
Un simulateur Git rend visible ce qui arrive aux pointeurs quand main et feature se séparent après un ancêtre commun. Le graphe des commits sert ici de support pour comparer trois opérations souvent confondues.
Passez à l’exemple d’avance rapide ou à celui où une même ligne change différemment. Les lettres A à D sont des repères pédagogiques, jamais les identifiants de vos vrais commits.
Le simulateur Git conserve les anciens nœuds lors d’une fusion, puis dessine de nouveaux nœuds pour le rebase et le cherry-pick. On peut visualiser l’historique Git et voir quel pointeur bouge réellement dans l’exemple.
L’exemple montre la version de base, la version actuelle et la version entrante d’une ligne de app.js. Il explique ce conflit de fusion pédagogique sans promettre de détecter ceux de votre dépôt.
Si main est un ancêtre de feature, la fusion déplace seulement le pointeur main. Le graphe n’ajoute pas de commit de fusion à deux parents dans ce cas.
Le rebase rejoue C puis D sous les noms symboliques C′ et D′. Le cherry-pick ne copie que C ou D vers main et laisse la branche feature à son ancien emplacement.
Changer d’exemple ou d’opération périme aussitôt l’ancien aperçu et désactive copie et téléchargement. Ctrl/Cmd + Entrée relance le calcul; vérifiez les noms et le substitut de hash du brouillon.
Une fusion divergente crée un commit à deux parents; un rebase recrée les commits feature sur une nouvelle base. L’exemple d’avance rapide ne fait que déplacer main.
Le cherry-pick applique un seul commit choisi et ne transporte pas toute la branche. Les apostrophes des nouveaux nœuds représentent des copies, pas de véritables SHA.
Le conflit est déduit d’un fichier d’exemple réduit à une ligne. Le modèle ne reproduit ni la fusion de texte de Git ni la détection de renommage et ne résout aucun fichier.
La fusion garde l’ascendance des deux branches; le rebase recrée les commits feature sur une nouvelle base. Le simulateur Git montre ces formes, mais une branche déjà partagée peut rendre la réécriture inadaptée.
Une fusion préserve la branche, le rebase produit une histoire linéaire et squash réunit plusieurs changements en un commit. Cette page ne simule pas squash ni les réglages de la plateforme; suivez la politique du projet.
Le rebase s’arrête au commit dont le changement ne s’applique pas proprement. Il faut examiner et corriger les vrais fichiers, puis poursuivre dans Git. La page indique seulement où son exemple d’une ligne s’arrête.
La marche à suivre dépend de l’état de la fusion et du fait qu’elle ait été partagée. Ce simulateur n’effectue aucune fusion réelle et ne propose ni reset ni revert; inspectez votre dépôt avant une action de retour.
Comparez la fusion complète à la copie d’un seul commit avec cherry-pick. Le brouillon illustre la syntaxe, mais vous devez vérifier le commit voulu, la branche cible et l’état de travail réels.
La syntaxe diffère-t-elle de la documentation de votre appareil ?
Comparez trois opérations sur le même graphe, examinez le conflit fixe, puis remplacez tous les repères du brouillon par ceux de votre dépôt.