perforce имеет очень полезную команду, которая печатает все изменения файла, с аннотациями, указывающими, какие версии содержат каждую строку в файле. Например, скажем, я создаю файл foo, проверяю его, а затем проверяю два последующих изменения файла. Вот три версии обув:Что такое git, эквивалентный 'p4 annotate -a'?
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd
eee fff
fff
Вот что p4 аннотировать -a печатает:
1-3: aaa
1-3: bbb
1-3: ccc
2-3: ddd
2-2: eee
2-3: fff
Я вижу всю историю обув с аннотациями, указывающими, какие версии, содержащиеся в каждой строке.
AFAICT, git wame дает только последнюю версию, содержащую каждую строку. git log with pickaxe только печатает строки, соответствующие шаблону, и дает сообщения фиксации, а не строки в самом файле.
Есть ли способ сделать что-то похожее на вышеупомянутую команду perforce в git?
Спасибо заранее,
Грег
«мерзавец файл журнала -ную SEARCH_STRING '» использует GIT функциональность кирки, и что-то делает с мерзавцем направленный ациклический граф отношение к «файл», как Я понимаю. Я надеялся на что-то подобное, но с выходом в терминах файловых строк вместо сообщений git commit. – user691307
'git log -S' находит коммиты, которые вводят или удаляют указанную строку. Это просто фильтр истории. Возможно, вы сможете передать указанные изменения в 'git blame', а затем' grep' для строк в выводе вины, которые также содержат строку ... – Amber