Удалить имя файла и метку времени из Git-Blame - PullRequest
1 голос
/ 28 марта 2019

Длинные пути к файлам и ненужные метки времени затрудняют мне чтение вывода git blame.Я хотел бы удалить эти столбцы из выходных данных, но сохранить SHA, номер строки и имя автора.

Я вижу в документах , что -f или --show-filenameфлаги включают имя файла (даже если оно включено по умолчанию), но, похоже, нет флага , удаляющего имя файла.Я часто использую git blame для одного файла, поэтому я уже знаю, какой файл я просматриваю.

Я также вижу флаг для подавления как имени автора, так и метки времени (-s), но яЯ бы предпочел оставить имя автора, чтобы этот флаг не работал для того, что мне нужно.

Я даже пытался объединить флаг -s с флагом -e (вместо этого использовать электронную почту автораот их имени), но этот трюк не смог вывести ничего для автора.

Есть идеи?

1 Ответ

2 голосов
/ 28 марта 2019

Если такой опции нет, можно использовать sed:

git blame --date=short <filename> | sed -e 's, [^(]*, ,' -e 's, [^ ]*\( *[0-9]*)\), \1,'

Первое регулярное выражение требует небольшой корректировки, если в именах файлов есть скобки.(надеюсь, вы этого не сделаете) Он будет работать правильно даже без имен файлов.

...