Использование git log -L для отслеживания конкретной строки кода, передаваемой через коммиты - PullRequest
0 голосов
/ 10 мая 2018

У меня есть простой репозиторий git (origin / master branch) с одним файлом foo.java . В файле у меня есть куча кода и определенная переменная int value = 10 в строке 10. Начальный коммит имеет идентификатор x .

После 1 изменения и фиксации кода, int value = 10 перемещается вниз до строки 12, идентификатор фиксации y .

После второго изменения и фиксации переменная меняется на 20 и перемещается вниз до строки 13, идентификатор фиксации z .

Запуск git log -L 13,13:foo.java позволяет мне отслеживать изменения int value в обратном направлении через z -> y -> x . Однако это зависит от того, присутствует ли int value в самом последнем коммите z . Что я хочу знать, так это как отслеживать изменения int value вперед, начиная с начальной фиксации x -> y -> z . Таким образом, если int value был удален из кода в будущем коммите, я смогу узнать.

Я уже пытался git log -L 10,10:foo.java x..origin/master (источник: Git log -L в дальнейшем ), чтобы попытаться отследить строку 10 первоначального коммита x вперед, но он будет смотреть только на строка 10 последнего коммита z , независимо от того, проверяю ли я, чтобы зафиксировать x заранее или нет.

Если был добавлен третий коммит q , где удалено int value, я хочу иметь возможность использовать git log, чтобы увидеть, что он был введен в коммит x и изменен в коммитах y и z перед удалением в q .

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