git log для части файла - PullRequest
15 голосов
/ 05 мая 2011

Я бы хотел видеть все коммиты git, которые влияют на строки x-y, в одном из моих файлов.Есть ли способ, которым я могу это сделать?

Ответы [ 3 ]

15 голосов
/ 21 января 2014

Теперь git log поддерживает параметр -L, например git blame.Это было добавлено в Git v1.8.4.

 -L <start>,<end>:<file>
 -L :<regex>:<file>

 Trace the evolution of the line range given by "<start>,<end>" (or
 the funcname regex <regex>) within the <file>. You may not give any
 pathspec limiters. This is currently limited to a walk starting from a
 single revision, i.e., you may only give zero or one positive revision
 arguments. You can specify this option more than once.

( документация git-log )

5 голосов
/ 05 мая 2011

Вы можете использовать git blame с опцией -L:

-L <start>,<end> 

 Annotate only the given line range. <start> and <end> can take one of these forms: 

 number 

If <start> or <end> is a number, it specifies an absolute line number (lines count from 1).

 /regex/ 

This form will use the first line matching the given POSIX regex. If <end> is a regex, it will search starting at the line given by <start>.

 +offset or -offset 

This is only valid for <end> and will specify a number of lines before or after the line given by <start>.

Так что это будет примерно так:

git blame -L 40,60 foobar

Обратите внимание, что git blame показывает последнюю версию длякаждая строка.Вы также можете попробовать с опцией --reverse:

- назад

Ходить историю вперед, а не назад.Вместо того, чтобы показывать ревизию, в которой появилась строка, она показывает последнюю ревизию, в которой существовала строка.Для этого требуется диапазон редакции, такой как START..END, где путь к обвинению существует в START.

http://www.kernel.org/pub/software/scm/git/docs/git-blame.html

Возможно, вы также можете использовать

gitk foobar
0 голосов
/ 05 мая 2011

Не совсем ответ на ваш вопрос, но вы можете использовать git blame <file> и спросить человека, который написал строки, которые вас беспокоят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...