IntelliJ: Перегляд різниць усіх змінених файлів між локальними та git-комітками / гілками


103

Використання розглядача розробок IntelliJ - це дуже приємний спосіб перегляду коду, оскільки ви можете внести зміни у свою локальну версію, використовуючи всі можливості редактора коду IntelliJ (рефакторинг, завершення тощо).

На жаль, я не розробив, як зробити найважливіше, коли ви робите огляди коду в IntelliJ, а саме: Переглядаючи різницю всіх змінених файлів у робочому дереві (відвідайте гілку, з якої потрібно об'єднатись) та інша гілка (гілка, яку ви плануєте об'єднати, наприклад, "master").

Хтось знає, як це зробити?


Будь ласка, дивіться розділ Порівняння в одному з їх публікацій у блозі .
Вік

Це запитання показує кроки меню для відображення різниці для всіх файлів проти іншої гілки (тобто головного): stackoverflow.com/questions/40637055/…
Алан Томпсон,

Відповіді:


59

Хоча відповідь Джона Тірсена правильна, вам потрібно пройти весь текст, щоб зрозуміти, як це зробити.

Ось зображення того ж у mac.

  1. Зараз я працюю з hello_world і хочу порівнювати з майстром. введіть тут опис зображення

  2. Далі з’явиться вікно. Виберіть Filesта натиснітьcmd + d

введіть тут опис зображення

  1. Ще одне вікно, яке показує розл. Ви можете виконувати різні типи різниць. Використовуйте cmd + shift + ]та cmd + shift + [перемикайте між файлами.

введіть тут опис зображення

Порада в відмінностях: IntelliJ надає розширені функції відмінності. Ви можете перевірити їх на 3-му зображенні.


1
Як я можу це зробити для всього проекту замість файлу за файлом?
JoeMjr2

@ JoeMjr2 Я дійсно не впевнений, чи є ці можливості сьогодні. Ви можете переміщатися по всіх файлах за допомогою cmd + shift + [та cmd + shift + ](замінити cmd ctrl, якщо ви використовуєте windows).
невідомий

Це було змінено під час оновлення версії до 2020 року, див. Мою відповідь нижче щодо оновленого методу.
BlueYoshi

Чи можете ви порівняти також дві версії, встановивши ідентифікатори комісій?
Дан Мадак

85

Це зараз реалізовано. Для того, щоб порівняти дві галузі, ви робите:

  1. Ознайомтесь із однією з галузей, з якою ви хочете порівняти.
  2. Виберіть гілку, з якою ви хочете порівняти, у спливаючому вікні гілки Git у рядку стану в нижньому правому куті вікна IntelliJ. Показано спливаюче вікно з деякими параметрами.
  3. Виберіть параметр "Порівняти".
  4. Це за замовчуванням показує всі зобов’язання, ви також можете вибрати вкладку "Diff", щоб показати фактичні зміни.

Це все описано набагато детальніше в одному з їх публікацій у блозі .


4
Чи можливо це також за допомогою довільних комітетів замість гілок? Я маю на увазі, що я можу швидко створити для цього локальну гілку, але це здається трохи громіздким.
Робін

@ Hikaru755 Ви коли-небудь це з'ясовували? Я намагаюся зробити те саме
ycomp

@ycomp Ні, на жаль, ні. Я до цього можу створити тимчасові відділення для цього.
Робін

1
@ Hikaru755 так, я створив tmpфілію, я думаю, це досить добре. Схоже,
наднормативність

3
@Robin так можна. Відкрийте історію файлу, виберіть два коміти та натисніть Ctrl-D. Він також працює між різними гілками.
Віктор Сергієнко

9

Це реалізовано зараз. Клацніть правою кнопкою миші на проект і виберіть "Git - порівняйте з гілкою ..." і виберіть masterгілку. Зроблено. Відмінність усіх файлів.


Це хороший підхід. Якщо ви бачите опцію сірим, це тому, що ви не правильно натискаєте папку проекту java / main / src.
jmojico

8

Це було змінено під час оновлення версії до 2020 року:

Тепер вам потрібно зробити наступне:

  1. Ознайомтесь із однією з галузей, яку ви хочете порівняти.

  2. Відкрийте меню Відділення .

  3. Виберіть іншу гілку, з якою ви хочете порівняти.

  4. Виберіть "Показати різницю з робочим деревом" .

введіть тут опис зображення


Дякую, я зрозумів, що це змінилося, але не міг зрозуміти, куди це ділося.
fmquaglia

1
Це найсвіжіша відповідь на даний момент. Інші відповіді стосуються старих версій IntelliJ, але не поточної.
Павло

1

Якщо ви просто хочете порівнювати наявний відкритий файл із іншою гілкою, просто перейдіть до VCS -> Git -> Порівняти з відділенням.


6
Це відповідає на питання, але не це! :)
Ламбарт

1

Клацніть правою кнопкою миші на класі та виберіть опцію Git, де ви побачите параметр порівняння з гілкою, де ви можете вибрати конкретну гілку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.