IntelliJ: Affichage des différences de tous les fichiers modifiés entre local et un commit / branch git

103

L'utilisation de la visionneuse de différences d'IntelliJ est un très bon moyen de revoir le code car vous pouvez apporter des modifications dans votre version locale avec toutes les fonctionnalités de l'éditeur de code IntelliJ (refactoring, complétion, etc.).

Malheureusement, je n'ai pas déterminé comment faire la chose la plus importante lorsque vous effectuez des révisions de code dans IntelliJ, à savoir: regarder le diff de tous les fichiers modifiés dans l'arborescence de travail (extrait dans la branche à partir de laquelle vous souhaitez fusionner) et une autre branche (la branche dans laquelle vous prévoyez de fusionner, par exemple "master").

Est-ce que quelqu'un sait comment faire ça?

Jon Tirsen
la source
Veuillez consulter la section Comparer dans l'un de leurs articles de blog .
Vic
Cette question montre les étapes du menu pour afficher les différences pour tous les fichiers par rapport à une autre branche (c'est-à-dire maître): stackoverflow.com/questions/40637055/…
Alan Thompson

Réponses:

59

Bien que la réponse de Jon Tirsen soit correcte, vous devez parcourir tout le texte afin de comprendre comment faire cela.

Voici les images de la même chose dans mac.

  1. Je travaille actuellement avec hello_world et je veux comparer avec master. entrez la description de l'image ici

  2. Ensuite, une fenêtre apparaîtra. Sélectionnez Fileset appuyez surcmd + d

entrez la description de l'image ici

  1. Une autre fenêtre qui montre diff. Vous pouvez effectuer de nombreux types de diff. Utilisez cmd + shift + ]et cmd + shift + [pour passer d'un fichier à l'autre.

entrez la description de l'image ici

Astuce Diff: IntelliJ fournit des fonctionnalités de diff avancées. Vous pouvez les vérifier sur la 3ème image.

erreur inconnue
la source
1
Comment puis-je faire cela pour l'ensemble du projet, au lieu de fichier par fichier?
JoeMjr2
@ JoeMjr2 Je ne sais vraiment pas si cette capacité est disponible aujourd'hui. Vous pouvez parcourir tous les fichiers en utilisant cmd + shift + [et cmd + shift + ](remplacez cmd par ctrl si vous utilisez Windows).
unknownerror
Cela a été changé dans la mise à jour de la version 2020, voir ma réponse ci-dessous pour la méthode mise à jour.
BlueYoshi
Pouvez-vous comparer 2 révisions également, par ID de validation?
Dan Macák
85

Cela a maintenant été mis en œuvre. Afin de comparer deux branches, vous faites:

  1. Découvrez l'une des branches avec lesquelles vous souhaitez comparer.
  2. Sélectionnez la branche avec laquelle vous souhaitez comparer dans la fenêtre contextuelle de branche Git dans la barre d'état en bas à droite de la fenêtre IntelliJ. Une fenêtre contextuelle avec quelques options s'affiche.
  3. Sélectionnez l'option "Comparer".
  4. Cela montre par défaut tous les commits, vous pouvez également sélectionner l'onglet "Diff" pour afficher les changements réels.

Tout cela est décrit plus en détail dans l'un de leurs articles de blog .

Jon Tirsen
la source
4
Est-ce également possible avec des commits arbitraires au lieu de branches? Je veux dire que je peux rapidement créer une succursale locale pour cela, mais cela semble un peu fastidieux.
Robin
@ Hikaru755 l'avez-vous déjà compris?
J'essaye
@ycomp Non, malheureusement pas. J'ai réussi à créer des branches temporaires pour cela pour le moment.
Robin le
1
@ Hikaru755 oui j'ai créé une tmpbranche, je suppose que c'est assez bon.
Cela
3
@Robin oui vous pouvez. Ouvrez l'historique du fichier, sélectionnez les deux commits et appuyez sur Ctrl-D. Cela fonctionne aussi entre différentes branches.
Victor Sergienko
9

Ceci est mis en œuvre maintenant. Vous faites un clic droit sur le projet et sélectionnez "Git - comparer avec la branche ..." et choisissez la masterbranche. Terminé. Différez tous les fichiers.

WesternGun
la source
Celui-ci est une bonne approche. Si vous voyez l'option grisée, c'est parce que vous n'avez pas fait un clic droit dans le dossier du projet java / main / src.
jmojico
8

Cela a été modifié dans la mise à jour de la version 2020:

Vous devez maintenant effectuer les opérations suivantes:

  1. Découvrez l'une des branches que vous souhaitez comparer.

  2. Ouvrez le menu Branches .

  3. Sélectionnez l'autre branche avec laquelle vous souhaitez comparer.

  4. Sélectionnez "Afficher les différences avec l'arbre de travail" .

entrez la description de l'image ici

BlueYoshi
la source
Merci, j'ai réalisé que cela avait changé mais je ne savais pas où cela était allé.
fmquaglia
1
C'est la réponse la plus à jour en ce moment. D'autres réponses sont pertinentes pour les anciennes versions d'IntelliJ, mais pas pour l'actuelle.
Pavel le
1

Si vous souhaitez simplement comparer votre fichier actuellement ouvert avec une autre branche côte à côte, allez simplement dans VCS -> Git -> Compare with Branch.

urgentx
la source
6
Cela répond à une question, mais pas à celle-ci! :)
Lambart
1

Cliquez avec le bouton droit sur la classe et sélectionnez l'option Git où vous verrez l'option comparer avec la branche où vous pouvez sélectionner la branche particulière.

sonal balekai
la source