GOOGLE ADS

понедельник, 25 апреля 2022 г.

Как я могу заставить git log печатать полный хэш и краткую статистику каждой фиксации в одной строке?

Я хотел бы получить такой вывод с помощью командной строки git:

bcfd649de8850e3bfc9584eb12be8fe136ca6985 3 files changed, 8 insertions(+), 1 deletion(-)

В настоящее время я использую git log --shortstat --reverse --pretty=oneline, но на самом деле это не одна строка, и комментарий для меня бесполезен:

bcfd649de8850e3bfc9584eb12be8fe136ca6985 Added ActionController#cookies[] as a reader for @cookies that'll return the value of the cookie instead of 
3 files changed, 8 insertions(+), 1 deletions(-)

Есть ли способ сделать это?


Решение проблемы

Вы можете определить свой собственный формат, состоящий только из полного хэша, и направить вывод git logв awk( edit: или sed, как предложено jthill в его комментарии ), чтобы заменить новые строки пробелами, где это необходимо (см. это ):

git log --pretty=tformat:"%H" --shortstat | awk 'ORS=NR%3?" ":"\n"'

или

git log --pretty=tformat:"%H" --shortstat | sed 'N;N;y/\n/ /'

Контрольная работа

$ git log --pretty=tformat:"%H" --shortstat | awk 'ORS=NR%3?" ":"\n"'
4da27ca5dc8469f19b1524a5dd381aad76f96c69 4 files changed, 26 insertions(+)
60c1e011aadc1bdbf38dde989d0f0497925678d9 4 files changed, 34 insertions(+)
f0e6da70616337f135190dc7f68e22678a7af2ff 4 files changed, 34 insertions(+)
95ea8a002f66a249946a78deb362a2e697dfb80a 4 files changed, 44 insertions(+)
9854efba2301d520bc4fe1a102e102f299ae127d 1 file changed, 2 insertions(+), 2 deletions(-)
c8ee6b36a545c67b2443eea499bf046dd1e2233d 4 files changed, 29 insertions(+)
2d4374edd2d2820f05853b4add9fc5ddba1506ac 4 files changed, 42 insertions(+)
$

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...