#git #terminal #git-bash #git-log
#git #терминал #git-bash #git-log
Вопрос:
Я проверяю свои журналы git, используя git log --stat
которые, мне отображаются все коммиты и файлы, которые были изменены в этих коммит.
Теперь есть коммит, который был сделан давным-давно, я помню часть сообщения о фиксации, так что, когда я делаю git log --stat | grep 'message text'
это, в журнале отображаются только сообщения о фиксации, в которых существует «текст сообщения».
Однако мне нужно увидеть хотя бы идентификатор фиксации вместе с результатами grep. Как мне этого добиться?
Ответ №1:
Попробуйте использовать это, чтобы получить полную информацию.
git log --all --grep='Your text here'
Используемая версия Git:
git version 2.9.0.windows.1
Пример:
$ git log --all --grep='Favourite Module modifie'
Результат:
commit 8226dce6f4f5ffd8143b8aefdee3b9b971040aa0
Author: Surender Singh <sure**@gmail.com> Date: Thu Aug 25 11:29:32 2016 0530
view Favourite Module modified
Комментарии:
1. По-прежнему не вижу идентификаторов commid, он просто показывает все сообщения о фиксации, содержащие «Ваш текст здесь»
2. фиксация 8226dce6f4f5ffd8143b8aefdee3b9b971040aa0 Выше показывает идентификатор фиксации для фиксации
Ответ №2:
Попробуйте использовать --oneline
:
git log --oneline | grep -F 'message text'
В противном случае передайте свой результат less
и выполните поиск, используя меньше:
git log | less
/message text
Ответ №3:
Используйте опции для grep, чтобы показать больше строк контекста. Выберите подходящий размер num, чтобы увидеть ваш идентификатор.
grep -A num -B num
Ответ №4:
Это позволит найти ваш комментарий.
git log --grep "search text" --author your_name
Документация Atlassian для журнала git Прокрутите вниз до «По сообщению» для получения дополнительной информации.
В качестве отступа вы можете использовать —author дважды. Мне нужно было найти набор проверок, сделанных двумя разработчиками. Это мой любимый способ поиска иголки в стоге сена git. —pretty=online выполняет две вещи: 1) каждый коммит находится в одной строке, и 2) отображается полный ссылочный номер коммита. Просто используя —oneline, вы получаете то же самое, за исключением сокращения ссылочного номера фиксации.
git log --grep "#Bug" --author jones --author smith --pretty=oneline
dev8.4> git log --grep "#Bug" --author jones --author smith --pretty=oneline
80334597b56add0ad4a3ddd02e7a6514bf01ad1e #Bug -- Further Mods To Code - CC Save
16cc3b4e949e965de9b72eb4583fa8df659528a0 #Bug -- Use new get charge function to load CC.
b207498261b4622ef88cb696365bf9af2f3fc6e1 #Bug -- Reference now editable after CC scan.
56385b7a77e2ec9af3b827f6a9ba93c22f267e51 #Bug -- Reload Entire Page after CC charge.
19e9cb05dabd8cc7c9a80e64187821d562af043c #Bug -- force Guid after save event.
c363ed97fdc2b56d1fcd84ca48eb300dbb120a3d #Bug -- Guid was getting lost in some cases.