#git #eclipse #search #commit #egit
#git #eclipse #Поиск #фиксация #egit
Вопрос:
Это способ поиска коммитов, в которых файлы были изменены (код удален или добавлен) с помощью текстового поиска?
Например: я подключился к своему репозиторию teams и теперь могу видеть историю коммитов. Я хочу выполнить поиск коммита, в котором строка «isGlossaryTermUsed» была изменена (добавлена или удалена). Я знаю, что могу выполнить поиск с помощью «инструмента поиска», но только если в коде есть такая строка, и таким образом я не могу видеть, какие изменения были добавлены или удалены коммитером.
Мой английский оставляет желать лучшего, надеюсь, я правильно сформулировал вопрос. Заранее спасибо.
Ответ №1:
git log
есть -G <pattern>
опция (документы здесь) :
в нем будут перечислены только коммиты, для которых diff содержит указанный шаблон.
Вы можете комбинировать его с другими git log
опциями :
# will list commits along with the files they modified :
git log --name-only/--name-status
# will list a file *only* if its diff matches <pattern>
git log --name-only/--name-status -G <pattern>
# will list commits along with the diff (the 'patch') of the commit :
git log -p
# will show the diff of file where <pattern> appears
git log -p -G <pattern>
Существует также -S <pattern>
опция (docs прямо рядом с -G), которая добавляет дополнительный поворот :
фиксация сохраняется, только если <pattern>
изменяется количество отображений.
Этот второй вариант сохранит коммиты, в которых шаблон появляется или исчезает, и игнорирует коммиты, в которых он только перемещается.
Где-то в графическом интерфейсе для git может быть поле, предлагающее эту опцию (я не знаком с Eclipse git), найдите поле, в котором будет указано -S
, -G
или pickaxe
.