IntelliJ: Menampilkan diff dari semua file yang diubah antara lokal dan git commit / branch

105

Menggunakan diff viewer IntelliJ adalah cara yang sangat bagus untuk meninjau kode karena Anda dapat membuat perubahan di versi lokal Anda dengan semua kemampuan editor kode IntelliJ (refactoring, penyelesaian, dll).

Sayangnya saya belum mengetahui bagaimana melakukan hal yang paling penting ketika Anda melakukan review kode di IntelliJ, yaitu: Melihat perbedaan dari semua file yang diubah di pohon kerja (periksa ke cabang tempat Anda ingin menggabungkan) dan cabang lain (cabang yang ingin Anda gabungkan, misalnya "master).

Apakah ada yang tahu bagaimana melakukan ini?

Jon Tirsen
sumber
Silakan lihat bagian Bandingkan di salah satu posting blog mereka .
Vic
Pertanyaan ini menunjukkan langkah-langkah menu untuk menampilkan perbedaan untuk semua file vs cabang lain (yaitu master): stackoverflow.com/questions/40637055/…
Alan Thompson

Jawaban:

61

Meskipun jawaban Jon Tirsen benar, Anda perlu membaca seluruh teks untuk memahami cara melakukannya.

Berikut gambar yang sama di mac.

  1. Saat ini saya bekerja dengan hello_world dan ingin membandingkan dengan master. masukkan deskripsi gambar di sini

  2. Selanjutnya sebuah jendela akan muncul. Pilih Filesdan tekancmd + d

masukkan deskripsi gambar di sini

  1. Jendela lain yang menunjukkan perbedaan. Anda dapat melakukan berbagai jenis perbedaan. Gunakan cmd + shift + ]dan cmd + shift + [untuk berpindah antar file.

masukkan deskripsi gambar di sini

Tip Diff: IntelliJ menyediakan fitur diff lanjutan. Anda dapat memeriksanya pada gambar ke-3.

kesalahan yang tidak diketahui
sumber
1
Bagaimana saya bisa melakukan ini untuk seluruh proyek, alih-alih file demi file?
JoeMjr2
@ JoeMjr2 Saya benar-benar tidak yakin apakah kemampuan itu tersedia saat ini. Anda dapat menavigasi semua file menggunakan cmd + shift + [dan cmd + shift + ](ganti cmd dengan ctrl jika Anda menggunakan windows).
kesalahan yang tidak diketahui
Ini telah diubah dalam pembaruan versi 2020, lihat jawaban saya di bawah ini untuk metode yang diperbarui.
BlueYoshi
Dapatkah Anda membandingkan 2 revisi juga, berdasarkan ID komit?
Dan Macák
86

Ini sekarang telah diterapkan. Untuk membandingkan dua cabang yang Anda lakukan:

  1. Lihat salah satu cabang yang ingin Anda bandingkan.
  2. Pilih cabang yang ingin Anda bandingkan di popup cabang Git di bilah status di kanan bawah jendela IntelliJ. Munculan dengan beberapa opsi ditampilkan.
  3. Pilih opsi "Bandingkan".
  4. Ini secara default menunjukkan semua komit Anda juga dapat memilih tab "Diff" untuk menunjukkan perubahan yang sebenarnya.

Ini semua dijelaskan dengan lebih detail di salah satu postingan blog mereka .

Jon Tirsen
sumber
4
Apakah ini juga mungkin dengan komit arbitrer, bukan cabang? Maksud saya, saya dapat dengan cepat membuat cabang lokal untuk itu, tetapi tampaknya agak rumit.
Robin
@ Hikaru755 apakah Anda pernah mengetahuinya? Saya mencoba untuk melakukan hal yang sama
ycomp
@ycomp Tidak, sayangnya tidak. Saya sudah membuat jatuh tempo dengan membuat cabang sementara untuk ini untuk saat ini.
Robin
1
@ Hikaru755 ya saya membuat tmpcabang, saya kira itu cukup bagus. Sepertinya terlalu berlebihan
ycomp
3
@Robin ya bisa. Buka riwayat file, pilih dua komit dan tekan Ctrl-D. Ia bekerja di antara cabang yang berbeda juga.
Victor Sergienko
10

Ini telah diubah dalam pembaruan versi 2020:

Anda sekarang perlu melakukan hal berikut:

  1. Lihat salah satu cabang yang ingin Anda bandingkan.

  2. Buka Cabang menu .

  3. Pilih cabang lain yang ingin Anda bandingkan.

  4. Pilih "Tampilkan Diff dengan Pohon Kerja" .

masukkan deskripsi gambar di sini

BlueYoshi
sumber
Terima kasih, saya menyadari bahwa itu telah berubah tetapi tidak tahu ke mana perginya.
fmquaglia
1
Ini adalah jawaban paling mutakhir saat ini. Jawaban lain relevan dengan versi IntelliJ yang lebih lama, tetapi tidak dengan yang sekarang.
Pavel
9

Ini diterapkan sekarang. Anda klik kanan pada proyek dan pilih "Git - bandingkan dengan cabang ..." dan pilih mastercabang. Selesai. Diff semua file.

WesternGun
sumber
Yang ini adalah pendekatan yang bagus. Jika Anda melihat opsi berwarna abu-abu, itu karena Anda tidak mengklik kanan dalam folder proyek java / main / src.
jmojico
1

Jika Anda hanya ingin membandingkan file yang sedang Anda buka dengan cabang lain secara berdampingan, cukup buka VCS -> Git -> Bandingkan dengan Branch.

mendesakx
sumber
6
Itu menjawab pertanyaan, tapi bukan yang ini! :)
Lambart
1

Klik kanan pada kelas dan pilih opsi Git di mana Anda akan melihat bandingkan dengan opsi cabang di mana Anda dapat memilih cabang tertentu.

balekai sonal
sumber