En supposant que je suis le responsable d'un dépôt et que je souhaite retirer des modifications d'un contributeur, il existe quelques flux de travail possibles:
- Je
cherry-pick
m'engage chacun à distance (dans l'ordre). Dans ce cas, git enregistre la validation comme indépendante de la branche distante. - Je
merge
branche, en tirant toutes les modifications et en ajoutant un nouveau commit "conflit" (si nécessaire). - Je
merge
valide individuellement chacun de la branche distante (encore une fois dans l'ordre), permettant aux conflits d'être enregistrés pour chaque validation, au lieu d'être regroupés en un seul. - Pour être complet, vous pouvez faire une
rebase
(même chose que l'cherry-pick
option?), Mais je crois comprendre que cela peut créer de la confusion pour le contributeur. Peut-être que cela élimine l'option 1.
Dans les deux cas 2 et 3, git enregistre l'historique des branches des validations, contrairement à 1.
Quels sont les avantages et les inconvénients entre l'utilisation de l'une cherry-pick
ou l' autre des merge
méthodes décrites? D'après ce que je comprends, la méthode 2 est la norme, mais je pense que résoudre un gros commit avec une seule fusion "conflictuelle" n'est pas la solution la plus claire.