web-dev-qa-db-fra.com

Pull-Request pour seulement certains fichiers / commits

J'ai un dépôt dérivé de GitHub qui a quelques modifications apportées. Cependant, dans un certain commit, quelques fichiers ont été modifiés pour lesquels je veux soumettre une pull-request, laissant les autres fichiers modifiés hors de la demande.

Les demandes de tirage fusionnent-elles toutes les validations, ou dois-je faire quelque chose de spécial pour isoler cette validation?

54
Qix

Une demande d'extraction étant constituée de validations entières, vous devez diviser cette validation en deux validations distinctes, l'une contenant la modification à insérer dans la demande d'extraction et l'autre contenant les autres modifications. Pour ce faire, vous avez besoin de git rebase -i, voir par exemple Comment puis-je diviser un commit Git enfoui dans l'historique? pour une bonne explication sur la façon de le faire.

Une fois que vous avez divisé la validation, déplacez celles que vous souhaitez inclure dans une branche de rubrique, voir par exemple Comment déplacer certaines validations vers une autre branche dans git? , mais cela dépend si les validations qui font votre les demandes de tirage sont séquentielles.

Enfin, vous pouvez pousser vers Github et créer la demande d'extraction à partir de votre branche de sujet.

37
CharlesB

Les demandes d'extraction fusionnent les branches. Donc, si vous souhaitez isoler certaines choses pour une demande d'extraction, le mieux est de placer ces modifications dans une branche distincte.

L'avantage est que vous pouvez modifier la demande d'extraction en poussant de nouvelles modifications dans cette branche (même Push -f si vous devez modifier les validations déjà poussées).

13
Ikke