Tirez sur les changements d’une fourche Github

Quelqu’un a créé un projet Github et a apporté quelques modifications. Comment puis-je fusionner les modifications dans ma version amont?

En outre, est-il possible d’arriver à un engagement spécifique?

Ce que je cherche, c’est s’il existe un moyen d’extraire un commit spécifique au lieu de la twig entière.

Tirer un seul commit serait un choix à la cerise et réécrire l’ID de validation (et vous marquer comme le committer tout en conservant l’auteur). Le processus est assez simple, cependant:

git fetch git://github.com/user/project.git git cherry-pick  

Vous obtenez le SHA à partir du journal du référentiel, par exemple:

 git log --oneline b019cc0 Check whether we have . 0920898 Include  before including . cbf0ba1 Add DLT_DBUS, for raw D-Bus messages. 77ed5cd Libnl 2.x returns its own error codes, not errnos; handle that. 

Avec git cherry-pick 0920898 vous apportez les engagements respectifs à votre agence actuelle.

Essayez d’utiliser le / forkqueue sur github. Là vous pouvez fusionner les commits à votre fourchette.

Ou allez dans l’onglet “Réseau” et sélectionnez “Forkqueue”

Il existe un outil génial appelé hub , qui fournit des outils utiles pour nettoyer les demandes d’extension et qui vous aide généralement à gagner à git.

Une commande utile dans ce contexte est la suivante:

git am -3

Cela vous permet de récupérer les modifications à partir d’une URL et d’appliquer ses commits / modifications à votre git local actuel sans même récupérer le référentiel distant (ce qui est pratique avec les grands référentiels).

Si vous utilisez cette commande avec la page Web git du commit que vous voulez récupérer, vous vous retrouvez avec cette validation dans votre git. Encore plus utile: l’auteur de la validation est conservé et non remplacé (comme si vous git rebase ). Si vous transmettez cela à votre repository, les modifications seront validées par vous , mais créées par l’auteur original.

Une très bonne ressource sur ce sujet est ce guide de Nathaniel Talbott. Cela montre un bon workflow pour travailler avec des requêtes de type pull au lieu de compter sur le bouton de requête de collecte de fusion “malveillant” sur github.