J'ai un commit, je l'ai stocké dans une branche, car cela ne devrait aller qu'à une case spécifique.Git exclure un commit dans une branche
Je l'ai fusionné avec le maître de branche, mais pas le dev de branche, que j'utilise localement.
Maintenant, par erreur, j'ai fusionné master à dev et qui a introduit ce commit à dev.
Je sais que git peut retourner sha, à dev dev; mais puisque cela va introduire un commit qui annule ce commit (je devine, je n'ai pas vraiment essayé cela), quand je fusionnerai master, ce commit sera-t-il annulé aussi?
Si oui, comment annuler cette validation uniquement à partir du dev de la branche.
Et oh, git reset HEAD^1
--hard n'est pas une option car il y a d'autres validations sur le maître, après la validation inutile.
Si la réinitialisation et l'application sont la seule option, alors comment puis-je seulement fusionner ces commits supplémentaires de maître autre que la validation non nécessaire.
Mise à jour:
Voici l'arbre de validation. Ça a l'air complexe. J'ai indiqué le commit, dont je n'ai pas besoin dans le dev. (J'ai également enlevé toute information personnellement identifiable, merci pour la compréhension.Il est tellement plus simple de capturer gitk que d'art ascii.)
Merci d'avance!
Est-il possible de ascii-art ce que je ne suis pas totalement clair où les commits de fusion sont en relation avec le commit indésirable? –
Dans svn, vous pouvez fusionner des plages de révisions, 1-19, 49, 52-90 ... Je suis sûr que vous pouvez le faire aussi dans git. – SeanJA
@SeanJA: Je ne suis pas sûr que l'analogie avec svn soit le meilleur moyen d'obtenir une réponse. En particulier, avec git, si vous commencez par 'A - B - C' et supprimez' B' pour obtenir 'A - C '', le commit 'C'' n'est pas le même que le commit' C', car il n'a pas le même parent. Tellement sûr, vous pouvez construire une deuxième branche consistant des commits originaux avec celui voulu, puis fusionner cela, mais vous n'aurez pas fusionné la branche originale. – Cascabel