Comment puis-je voir les différences de validation entre les twigs dans git?

Je suis sur la twig X et j’ai ajouté deux autres commits. Je veux voir toutes les différences entre MASTER et la twig sur laquelle je travaille en termes de commits. Je pourrais juste faire un

git checkout master git log 

et puis un

 git checkout branch-X git log 

et visuellement ces, mais j’espère une méthode plus facile, moins sujette aux erreurs.

Vous pouvez obtenir une très belle sortie visuelle de la façon dont vos twigs diffèrent

 git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X 

Vous pouvez facilement le faire avec

 git log master..branch-X 

Cela montrera que commit que branch-X a mais que master ne le fait pas.

Je pense que c’est une question de choix et de contexte.Je préfère utiliser

 git log origin/master..origin/develop --oneline 

Il affichera les commits en développement qui ne sont pas dans la twig maître.

Si vous voulez voir quels fichiers sont réellement modifiés, utilisez

 git diff --stat origin/master..origin/develop 

Si vous ne spécifiez pas d’arguments, le diff complet sera affiché. Si vous voulez voir le diff visuel, installez meld sur Linux ou WinMerge sur Windows. Assurez-vous qu’ils sont les difftools par défaut. Utilisez ensuite quelque chose comme

 git difftool -y origin/master..origin/develop 

Au cas où vous voudriez le comparer avec la twig actuelle. Il est plus pratique d’utiliser HEAD au lieu du nom de la twig, comme par exemple:

 git fetch git log origin/master..HEAD --oneline 

Il vous montrera tous les commits, sur le point d’être fusionnés

Si vous êtes sous Linux, gitg est la solution pour le faire très rapidement et graphiquement.

Si vous insistez sur la ligne de commande, vous pouvez utiliser:

 git log --oneline --decorate 

Pour rendre git log plus agréable par défaut, je règle généralement ces préférences globales:

 git config --global log.decorate true git config --global log.abbrevCommit true 

Je suggère ce qui suit pour voir la différence “dans les commits”. Pour la différence symésortingque, répétez la commande avec des arguments inversés:

 git cherry -v master [your branch, or HEAD as default] 

si vous voulez utiliser gitk:

 gitk master..branch-X 

il a une belle vieille école GUi

Pas la réponse parfaite mais fonctionne mieux pour les personnes utilisant Github:

entrer la description de l'image ici

Accédez à votre repo: Insights -> Network

 #! /bin/bash if ((2==$#)); then a=$1 b=$2 alog=$(echo $a | tr '/' '-').log blog=$(echo $b | tr '/' '-').log git log --oneline $a > $alog git log --oneline $b > $blog diff $alog $blog fi 

Consortingbuez à cela, car il permet de différencier les journaux a et b, côte à côte, si vous disposez d’un outil de différenciation visuelle. Remplacez la commande diff à la fin par la commande pour lancer l’outil de diff visuel.