MyTetra Share
Делитесь знаниями!
Как искать изменения в нужных файлах с помощью интерфейса gitk?
Время создания: 25.07.2019 10:30
Текстовые метки: git, gitk, интерфейс, файл, изменения, поиск, git gui
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git
Запись: xintrea/mytetra_syncro/master/base/1564039850gnbgb4v9nr/text.html на raw.github.com

Иногда нужно быстро просмотреть, какие изменения были сделаны в определенном файле. Как это можно сделать в GUI-интефейсе gitk?


Интерфейс gitk не очень дружелюбный, и создан марсианами для марсиан. Некоторые вещи в нем делаются легко, а некоторые вызывают недоумение. Система поиска - одна из таких странных вещей.


Здесь будет рассказано, как сделать только одну вещь - как искать файлы по имени, не более того. Работа с остальными критериями поиска полна странностей и неожиданностей, поэтому здесь не рассматривается.


Итак, у нас есть следующие элементы управления:





Нас интересует файл BillHelper.php, мы хотим посмотреть в нем недавние изменения. Как нам это сделать? Мы видим два поля ввода. Одно поле предваряется надписью "Поиск" и стрелками вверх-вниз, второе предваряется кнопкой "Найти". Какое из них выбрать? Да кто ж его знает. С одной стороны рядом с нижним полем стоит переключатель "Файлы", с другой стороны у верхнего поля в выпадающем списке есть пункт "Касательно файлов". Что выбрать?


Если долго потыкаться в интерфейсе и понаблюдать что происходит, то можно понять, что:



  • Верхнее поле поиска - это поиск по репозитарию;
  • Нижнее поле поиска с кнопкой "Найти" делает поиск в тексте diff-а, который располагается в интерфейсе ниже (левая нижняя часть окна gitk).



Вооружившись этим знанием, надо выбрать верхнее поле, предварительно выставив в выпадающем списке пункт "Касательно файлов". Давайте введем в это поле имя файла и посмотрим что получится. Вводим:





Ничего не происходит. Нажатие Enter ни к чему не приводит. Кнопки вверх-вниз ничего не ищут, кнопка "Найти", как мы поняли, служит для другого поиска. В чем дело? Gitk будет молчать как партизан, и ничего не скажет о проблеме. А проблема просто в том, что надо указывать файл с полным путем.


Чтобы не набирать вручную полный путь к файлу, можно его взять прямо в gitk, если таковой файл присутствует в каком-нибудь коммите. Для этого нужно нажать на файл сначала левой кнопкой мыши (выбор) потом правой кнопкой мыши (контекстное меню) и скопировать его полный путь:





Далее надо вставить полный путь к файлу в строку поиска, и нажать Enter. Будут подсвечены все коммиты, в которых данный файл изменялся.





Кстати, для поиска файла можно поступить и по-другому. В контекстном меню файла есть пункт "Подсветить только этот", имеется в виду файл. Данный пункт меню автоматически выполнит те же действия, которые были описаны выше.


Кроме того, как выяснилось, в имени файла можно использовать символ "звездочка", чтобы заменить любую последовательность символов. Поэтому, если нужно найти файл, который в разные моменты жизни проекта находился в разных директориях, то в строке поиска можно указать:



*ИмяФайла.cpp



И последнее: что нужно нажать после ввода имени файла, чтобы начать поиск? Кнопки "Найти" или "Искать" или "Поиск" рядом с полем ввода нет. Ответ. Для поиска файла вверх и вних по дереву коммитов, нужно нажимать кнопки с иконками стрелок вверх/вниз:





Вот теперь все рассказано о том, как искать файлы через интерфейс Gitk.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования