IntelliJ: Yerel ve git commit / şube arasındaki tüm değiştirilen dosyaların farkını görüntüleme


112

IntelliJ'in fark görüntüleyicisini kullanmak, kodu gözden geçirmenin çok güzel bir yoludur çünkü yerel sürümünüzde IntelliJ kod düzenleyicisinin tüm yetenekleriyle (yeniden düzenleme, tamamlama, vb.) Değişiklikler yapabilirsiniz.

Maalesef, IntelliJ'de kod incelemeleri yaparken en önemli şeyi nasıl yapacağımı çözmedim, yani: Çalışma ağacındaki tüm değiştirilen dosyaların farkına bakma (birleştirmek istediğiniz dala bakın) ve başka bir dal (birleştirmeyi planladığınız dal, örneğin "ana birim).

Bunun nasıl yapılacağını bilen var mı?


Lütfen blog gönderilerinden birindeki Karşılaştır bölümüne bakın .
Vic

1
Bu soru, tüm dosyalar için başka bir dalla (yani ana) farklılıkları görüntülemek için menü adımlarını gösterir: stackoverflow.com/questions/40637055/…
Alan Thompson

Yanıtlar:


66

Jon Tirsen'in cevabı doğru olsa da, bunu nasıl yapacağınızı anlamak için tüm metni gözden geçirmeniz gerekiyor.

İşte Mac'te aynısının görüntüleri.

  1. Şu anda hello_world ile çalışıyorum ve usta ile karşılaştırmak istiyorum.

GÜNCELLEME: Yeni kullanıcı arayüzünde, Show Diff with Working Tree

görüntü açıklamasını buraya girin

  1. Ardından bir pencere açılacaktır. Seçin Filesve basıncmd + d

görüntü açıklamasını buraya girin

  1. Farkı gösteren başka bir pencere. Birçok farklı türde fark gerçekleştirebilirsiniz. Dosyalar arasında geçiş yapmak için cmd + shift + ]ve tuşlarını kullanın cmd + shift + [.

görüntü açıklamasını buraya girin

Farklı İpucu: IntelliJ, gelişmiş fark özellikleri sağlar. 3. resimdekileri kontrol edebilirsiniz.


1
Bunu dosya dosya yerine tüm proje için nasıl yapabilirim?
JoeMjr2

@ JoeMjr2 Bu özelliğin bugün mevcut olup olmadığından gerçekten emin değilim. cmd + shift + [Ve cmd + shift + ](Windows kullanıyorsanız cmd'yi ctrl ile değiştirin) kullanarak tüm dosyalarda gezinebilirsiniz .
unknownerror

Bu, 2020 sürüm güncellemesinde değiştirildi, güncellenmiş yöntem için aşağıdaki cevabıma bakın.
BlueYoshi

2 revizyonu da commit kimliklerine göre karşılaştırabilir misiniz?
Dan Macák

Ne yazık ki, bu modal artık farklı dosyalara sahip olmayan bir sekme görünümüne değiştirildi. Bu nedenle bu cevap güncel değildir.
Innokenty

88

Bu şimdi uygulandı. İki şubeyi karşılaştırmak için şunları yaparsınız:

  1. Karşılaştırmak istediğiniz şubelerden birine göz atın.
  2. IntelliJ penceresinin sağ alt tarafındaki durum çubuğunda bulunan Git dalı açılır penceresinden karşılaştırmak istediğiniz dalı seçin. Bazı seçeneklerin bulunduğu bir açılır pencere gösterilir.
  3. "Karşılaştır" seçeneğini seçin.
  4. Bu, varsayılan olarak tüm taahhütleri gösterir ve gerçek değişiklikleri göstermek için "Fark" sekmesini de seçebilirsiniz.

Bunların hepsi blog yayınlarından birinde çok daha ayrıntılı olarak açıklanmıştır .


4
Bu, şubeler yerine keyfi işlemlerle de mümkün müdür? Demek istediğim, bunun için hızlı bir şekilde yerel bir şube oluşturabilirim, ancak bu biraz külfetli görünüyor.
Robin

1
@ Hikaru755 evet bir tmpşube oluşturdum , sanırım yeterince iyi. Yine de aşırılık gibi görünüyor
ycomp

3
@Robin evet yapabilirsin. Dosyanın geçmişini açın, iki işlemi seçin ve tuşuna basın Ctrl-D. Farklı dallar arasında da çalışır.
Victor Sergienko

18

Bu, 2020 sürüm güncellemesinde değiştirildi:

Şimdi aşağıdakileri yapmanız gerekiyor:

  1. Karşılaştırmak istediğiniz şubelerden birine göz atın.

  2. Dallar menüsünü açın .

  3. Karşılaştırmak istediğiniz diğer şubeyi seçin.

  4. "Çalışma Ağacı İle Farkı Göster" seçeneğini seçin .

görüntü açıklamasını buraya girin


Teşekkürler, değiştiğini fark ettim ama nereye gittiğini anlayamadım.
fmquaglia

1
Bu, şu anda en güncel cevap. Diğer yanıtlar eski IntelliJ sürümleriyle ilgilidir, ancak mevcut yanıtla ilgili değildir.
Pavel

11

Bu şimdi uygulanmaktadır. Projeye sağ tıklayıp "Git - dalla karşılaştır ..." ı seçip masterdalı seçersiniz . Bitti. Tüm dosyaları dağıtın.


Bu iyi bir yaklaşım. Seçeneğin gri olduğunu görürseniz, bunun nedeni java / main / src proje klasörüne sağ tıklamadığınız içindir.
jmojico

2

Sadece şu anda açık olan dosyanızı başka bir dalla yan yana karşılaştırmak istiyorsanız, VCS -> Git -> Branch ile Karşılaştır'a gidin.


7
Bu bir soruyu yanıtlıyor, ama bu değil! :)
Lambart

0

Sınıfa sağ tıklayın ve belirli bir dalı seçebileceğiniz dal ile karşılaştırma seçeneğini göreceğiniz Git seçeneğini seçin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.