IntelliJ: visualizzazione delle differenze di tutti i file modificati tra locale e un commit / ramo git


103

L'utilizzo del visualizzatore di differenze di IntelliJ è un modo molto carino per rivedere il codice perché puoi apportare modifiche nella tua versione locale con tutte le funzionalità dell'editor di codice di IntelliJ (refactoring, completamento, ecc.).

Sfortunatamente non ho capito come fare la cosa più importante quando stai facendo le revisioni del codice in IntelliJ, vale a dire: Guardando il diff di tutti i file modificati nell'albero di lavoro (controllato nel ramo da cui vuoi unire) e un altro ramo (il ramo in cui prevedi di fonderti, ad esempio "master).

Qualcuno sa come fare questo?


Si prega di consultare la sezione Confronta in uno dei loro post sul blog .
Vic

Questa domanda mostra i passaggi del menu per visualizzare le differenze per tutti i file rispetto a un altro ramo (cioè master): stackoverflow.com/questions/40637055/…
Alan Thompson,

Risposte:


59

Anche se la risposta di Jon Tirsen è corretta, è necessario passare attraverso l'intero testo per capire come farlo.

Ecco le immagini dello stesso in mac.

  1. Attualmente sto lavorando con hello_world e voglio confrontarmi con master. inserisci qui la descrizione dell'immagine

  2. Successivamente verrà visualizzata una finestra. Selezionare Filese premerecmd + d

inserisci qui la descrizione dell'immagine

  1. Un'altra finestra che mostra diff. Puoi eseguire molti diversi tipi di diff. Usa cmd + shift + ]e cmd + shift + [per spostarti tra i file.

inserisci qui la descrizione dell'immagine

Suggerimento diff: IntelliJ fornisce funzionalità diff avanzate. Puoi controllare quelli sulla terza immagine.


1
Come posso farlo per l'intero progetto, invece che file per file?
JoeMjr2

@ JoeMjr2 Non sono davvero sicuro che questa funzionalità sia disponibile oggi. Puoi navigare attraverso tutti i file usando cmd + shift + [e cmd + shift + ](sostituisci cmd con ctrl se stai usando Windows).
errore sconosciuto

Questo è stato modificato nell'aggiornamento della versione 2020, vedere la mia risposta di seguito per il metodo aggiornato.
BlueYoshi

Puoi confrontare anche 2 revisioni, per ID commit?
Dan Macák

85

Questo è stato ora implementato. Per confrontare due rami fai:

  1. Controlla uno dei rami con cui vuoi confrontare.
  2. Selezionare il ramo con cui si desidera confrontare nel popup del ramo Git nella barra di stato in basso a destra nella finestra di IntelliJ. Viene visualizzato un popup con alcune opzioni.
  3. Seleziona l'opzione "Confronta".
  4. Questo per impostazione predefinita mostra tutti i commit, puoi anche selezionare la scheda "Diff" per mostrare le modifiche effettive.

Tutto questo è descritto in modo molto più dettagliato in uno dei loro post sul blog .


4
Questo è possibile anche con commit arbitrari invece che con branch? Voglio dire, posso creare rapidamente una filiale locale per questo, ma sembra un po 'macchinoso.
Robin

@ Hikaru755 l'hai mai capito? Sto cercando di fare la stessa cosa
ycomp

@ycomp No, purtroppo no. Per ora ho dovuto creare rami temporanei per questo.
Robin

1
@ Hikaru755 si ho creato un tmpramo, immagino sia abbastanza buono. Sembra eccessivo però
ycomp

3
@Robin si puoi. Apri la cronologia del file, seleziona i due commit e premi Ctrl-D. Funziona anche tra rami diversi.
Victor Sergienko

9

Questo è ora implementato. Fai clic destro sul progetto e seleziona "Git - confronta con ramo ..." e scegli masterramo. Fatto. Diffondi tutti i file.


Questo è un buon approccio. Se vedi l'opzione in grigio, è perché non stai facendo clic con il pulsante destro del mouse nella cartella del progetto java / main / src.
jmojico

8

Questo è stato modificato nell'aggiornamento della versione 2020:

Ora devi fare quanto segue:

  1. Controlla uno dei rami che desideri confrontare.

  2. Apri il menu Branches .

  3. Seleziona l'altro ramo con cui vuoi confrontare.

  4. Seleziona "Mostra differenze con l'albero di lavoro" .

inserisci qui la descrizione dell'immagine


Grazie, mi sono reso conto che era cambiato ma non riuscivo a capire dove fosse finito.
fmquaglia

1
Questa è la risposta più aggiornata in questo momento. Altre risposte sono rilevanti per le versioni precedenti di IntelliJ, ma non per quella attuale.
Pavel

1

Se vuoi solo confrontare il tuo file attualmente aperto con un altro ramo in modo affiancato, vai su VCS -> Git -> Confronta con ramo.


6
Questo risponde a una domanda, ma non a questa! :)
Lambart

1

Fai clic destro sulla classe e seleziona l'opzione Git dove vedrai l'opzione Confronta con il ramo in cui puoi selezionare il ramo particolare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.