Как я могу сравнить с ревизией одного файла, используя только стандартные инструменты Git GUI? - PullRequest
1 голос
/ 05 мая 2010

Я хочу просмотреть историю одного файла, а затем сравнить одну ревизию из этой истории с текущей версией.

В командной строке это легко:

  1. Пробег:

    git log -- <filename>
    
  2. Найдите версию, которую вы хотите сравнить,

  3. Пробег:

    git diff <commitid> -- <filename>
    

Но как это сделать, используя только стандартные инструменты Git GUI, Git GUI и GITK ?

Я знаю два метода, использующих gitk , но оба они ужасно неуклюжи:

Или:

  1. Выберите опцию Новый вид в меню Вид,

  2. Введите полный путь к вашему файлу в поле, помеченное Введите файлы и каталоги для включения, по одному на строку ,

  3. Найдите версию, которую вы хотите сравнить, посмотрев на выделенные элементы в верхней панели, и щелкните по ней, чтобы выбрать ее,

  4. Щелкните правой кнопкой мыши текущую версию и выберите Выбранная разница -> эта ,

Или:

  1. Выберите Дерево в нижней правой панели,

  2. Найдите файл, который вы хотите просмотреть, щелкните его правой кнопкой мыши и выберите Выделите только это ,

  3. Найдите версию, которую вы хотите сравнить, посмотрев на выделенные элементы в верхней панели, и щелкните по ней, чтобы выбрать ее,

  4. Щелкните правой кнопкой мыши текущую версию и выберите Выбранная разница -> это ,

  5. Нажмите на файл в нижней правой панели, чтобы перейти к нему в выводе diff, или прокрутите вручную.

Есть ли лучший метод, чем этот?

1 Ответ

1 голос
/ 05 мая 2010

Вы можете запустить gitk из командной строки и ограничить его область действия одним файлом.

Вы также можете ограничить вывод набором коммитов.

Например, чтобы показать изменения с <commit>, которые изменились path/to/file, попробуйте:

gitk <commit>.. -- path/to/file

Подробнее см. Справочную страницу gitk .

...