Il y a quelque chose que je ne comprend pas :
– j’ai essayé de faire un merge de feature1 depuis feature2, puis de merge feature2 vers master et je vois bien le commit de feature1 contrairement à ce qui est dit dans la vidéo. Par contre, ça m’a créé un nouveau commit “Merge branch ‘feature1’ into ‘feature2′” en plus dans l’historique final.
– et deuxièmement, pourquoi ne pas faire un git rebase de feature2 depuis master si ça garde un historique propre ? J’ai l’impression qu’il y a une histoire de “fast-forward” mais je ne comprends pas car votre historique semble propre même avec un merge …
Dirane Willy TAFEN
sur 14 juillet 2020 à 18 h 51 min
hello
pour repondre à tes questions:
1- en fait le merge normal crée un commit automatiquement de l’ensemble des modifications ce qui devrait faire perdre l’historique des modifications
2- attention, le merge ne garde pas mon historique mais crée un merge pour toutes mes modificaitons, en réalité quand je fais le base pour que les commit de ma branches features soient exactement repris à identique (comme sur la branche feature 2) afin de savoir exactement ce qui s’est passé.
En réalité le merge cache les commits faits sur le branche feature, dans certains cas c’est souhaitable mais dans d’autres cas on souhaite avoir l’historique.
Regardes un peu cette PR : https://github.com/diranetafen/cursus-devops/pull/12
Tu verras que la seule chose que s’a m’affiche c’est que le commit c’est la résultante d’un merge alors que plein de commits ont été fait par le contributeur qui ici est sami.
Donc si j’avais voulu garder l’historique des ces modifications j’aurai fait un rebase mais dans mon cas comme je suis le mainteneur du code je m’en fou un peu et c’est le resultat final qui m’intéresse
N’hésites pas si je n’ai pas été clair, merci pour tes questions
En fait, ce que je comprend pas c’est que dans la vidéo vous dites que si on “merge” la branche “feature1” dans “feature2”, alors le commit “add mobile phone in form” ne sera plus dans l’historique.
-> Hors si je fais ce merge, je vois toujours ce commit “add mobile phone in form” dans mon historique suivi de mon commit de merge…
-> Pourquoi ? il ne devrait pas y avoir que le commit de merge ?
Du coup, je suis encore plus perdu entre git merge, git merge (avec fast-forward) et rebase.
Il y a quelque chose que je ne comprend pas :
– j’ai essayé de faire un merge de feature1 depuis feature2, puis de merge feature2 vers master et je vois bien le commit de feature1 contrairement à ce qui est dit dans la vidéo. Par contre, ça m’a créé un nouveau commit “Merge branch ‘feature1’ into ‘feature2′” en plus dans l’historique final.
– et deuxièmement, pourquoi ne pas faire un git rebase de feature2 depuis master si ça garde un historique propre ? J’ai l’impression qu’il y a une histoire de “fast-forward” mais je ne comprends pas car votre historique semble propre même avec un merge …
hello
pour repondre à tes questions:
1- en fait le merge normal crée un commit automatiquement de l’ensemble des modifications ce qui devrait faire perdre l’historique des modifications
2- attention, le merge ne garde pas mon historique mais crée un merge pour toutes mes modificaitons, en réalité quand je fais le base pour que les commit de ma branches features soient exactement repris à identique (comme sur la branche feature 2) afin de savoir exactement ce qui s’est passé.
En réalité le merge cache les commits faits sur le branche feature, dans certains cas c’est souhaitable mais dans d’autres cas on souhaite avoir l’historique.
Regardes un peu cette PR : https://github.com/diranetafen/cursus-devops/pull/12
Tu verras que la seule chose que s’a m’affiche c’est que le commit c’est la résultante d’un merge alors que plein de commits ont été fait par le contributeur qui ici est sami.
Donc si j’avais voulu garder l’historique des ces modifications j’aurai fait un rebase mais dans mon cas comme je suis le mainteneur du code je m’en fou un peu et c’est le resultat final qui m’intéresse
N’hésites pas si je n’ai pas été clair, merci pour tes questions
En fait, ce que je comprend pas c’est que dans la vidéo vous dites que si on “merge” la branche “feature1” dans “feature2”, alors le commit “add mobile phone in form” ne sera plus dans l’historique.
-> Hors si je fais ce merge, je vois toujours ce commit “add mobile phone in form” dans mon historique suivi de mon commit de merge…
-> Pourquoi ? il ne devrait pas y avoir que le commit de merge ?
Du coup, je suis encore plus perdu entre git merge, git merge (avec fast-forward) et rebase.
En fait on utilise que le merge et des fois le rebase
vous avez une bonne doc ici qui explique le mécanisme
https://www.google.com/url?sa=i&url=https%3A%2F%2Ffr.sawakinome.com%2Farticles%2Fsoftware%2Funassigned-2334.html&psig=AOvVaw0oGtZ1xqRREfYyJz6zF5nV&ust=1594853811138000&source=images&cd=vfe&ved=0CA0QjhxqFwoTCLCyzobtzeoCFQAAAAAdAAAAABAb