2017-08-10 5 views
0

Comment trouver la validation exacte où une fusion échoue dans github. Je regardais l'API dans github pour la fusion mais cela ne nous donne pas le commit conflictuel exact.Recherche de la validation conflictuelle exacte dans une tentative de fusion entre deux branches dans github

Toutes les idées sur ce

+0

Le conflit s'est produit lorsque vous avez tenté de former un seul commit à partir des validations HEAD des deux branches impliquées. Qu'essayez-vous de trouver ici? –

+0

Disons qu'il y a un script ou peut-être un job dans jenkins qui fusionne automatiquement 2 branches s'il y a un commit dans l'une des branches pour garder les deux branches synchronisées. Maintenant disons qu'un conflit de fusion se produit. Je voudrais comprendre les 2 commits (dans les 2 branches) où le conflit s'est produit. Fondamentalement, je voudrais informer les auteurs des 2 commits et leur demander de se résoudre entre eux –

Répondre

0

Rajdeep,

Comme dit TimBiegeleisen, le conflit lors de la fusion de deux branches est toujours le plus récent commettre sur chaque branche.

En lisant entre les lignes, je soupçonne que vous voulez savoir quel commit réellement. Si tel est ce que vous voulez savoir, cette réponse peut vous mettre sur la bonne voie: https://stackoverflow.com/a/31242553/2374880 Plus précisément, en cours d'exécution:

git ls-files -u \ 
| while read conflicted; do 
    echo @@@ conflicted file $conflicted touched in this merge by: 
    git log HEAD...MERGE_HEAD --left-right --format=' %h %aN %s' -- "$conflicted" 
done 

Si vous ne souhaitez que l'engagement id et non l'information, remplacer la chaîne de format argument avec juste '%h'.