Страницы

Поиск по вопросам

Показаны сообщения с ярлыком git-log. Показать все сообщения
Показаны сообщения с ярлыком git-log. Показать все сообщения

пятница, 10 января 2020 г.

Как просмотреть все коммиты в git?

#git #git_log


Потерялся коммит из неродительской ветки. Как сделать checkout? 

git log его не видит
    


Ответы

Ответ 1



для просмотра всех коммитов во всех ветках (с псевдо-графическими элементами для отображения связей между коммитами) можно использовать команду: $ git log --all --graph --decorate пример вывода для репозитория git-up (вставляю картинкой, чтобы показать раскраску): если эти параметры надо использовать часто, можно сделать псевдоним (alias). например, la: $ git config --global alias.la 'log --all --graph --decorate' тогда можно будет вызывать ту же команду короче: $ git la

Ответ 2



К сожалению в ответе на экран выводится слишком много дополнительной информации. Я бы рекомендовал добавить вот этот алиас в ~/.gitconfig [alias] tree = log --graph --decorate --pretty=oneline --abbrev-commit Или с помощью комманды: $ git config --global alias 'log --graph --decorate --pretty=oneline --abbrev-commit' Пример вывода: $ git tree * ccfd449 Require to return undef if no digits found * 93dd5ff Merge pull request #4 from KES777/clean_api |\ | * 39d82d1 Fix tests for debugging debugger internals | * 67107f6 Set { dd } and { ddd } flags based on { debug } | * bc2a378 Improve debug output: finish debug infomation early return | * d71a97e Remove direct access to $DB::sub and pass its value as argument | * a435005 Merge branch 'redesign_interactions' into clean_api | |\ | | * a06cc29 Code comments | | * d5d6266 Remove copy/paste code | | * c0118fa Allow command to choose how continue interaction

четверг, 2 января 2020 г.

Поиск коммита по содержимому

#git #git_log


Хочу найти свой коммит, diff которого содержит изменения с числом 333 в некоторой
строке - оно было удалено либо добавлено в некую строку в данном коммите. Возможно
известна папка (но не файл), в которой это было сделано.

С автором коммита вроде проблем нет:

git log --author=Qwertiy


а вот как сюда приписать поиск по содержимому изменённых строк?
    


Ответы

Ответ 1



Достаточно простое решение (которое не даст информацию о хеше коммита): git log -p | grep В git есть git grep, с ним решение будет выглядеть лучше: git grep $(git rev-list --all) Оригинальный ответ

пятница, 20 декабря 2019 г.

Как подсчитать количество написанного кода в репозитории по авторам?

#git #git_log


Задача узнать, кто из авторов сколько кода написал. Я знаю, что это необъективная
информация для подсчета вклада в проект, но все же хоть какая-то статистика. Если знаете
какие-то решения, актуальные на данный момент - прошу поделиться.

Пробовал пользоваться вот этим пакетом, но он устарел, т.к. был написан более семи
лет назад. Более новых google не выдал.

Есть команда git log --numstat, но она выдает разрозненные данные по коммитам и ей
невозможно воспользоваться для данных целей. Или я все же что-то пропустил?
    


Ответы

Ответ 1



Есть команда git log --numstat, но она выдает разрозненные данные по коммитам и ей невозможно воспользоваться для данных целей. Или я все же что-то пропустил? так на основании выдаваемой информации можно подсчитать, сколько строк добавил и сколько удалил (именно такие цифры выдаёт git log --numstat) каждый автор. примерно вот так (это я быстренько «набросал», можно и улучшить и оптимизировать): $ git log --pretty=format:==%an --numstat | \ sed -r '/==.*/{s/^==//;h;D};/^$/D;s/-/0/g;s/\t[^\t]+$//;G;s/(.*)\n(.*)/\2\t\1/' \ | awk -F '\t' '{add[$1]+=$2;del[$1]+=$3} END {for (i in add) {print i,add[i],del[i]}}' для упомянутого вами проекта она выдаёт: Caue Guerra 361 168 Pedro Matiello 729 238 для проекта https://github.com/processone/ejabberd вот такую статистику выдаёт: Alexey Shchepin 121555 48334 Andreas Köhler 429 335 Antonio Murdaca 63 10 Anton Ryzhov 0 1 Arno B 22 5 Badlop 310727 228783 Balázs Galambosi 2 2 Ben Langfeld 87 110 bLaDe 1 1 Christian Dröge 17 12 Christopher A. Stelma 1 1 Christophe Romain 42755 54608 Christopher tofu Zorn 128 96 colm 8 3 Cor Cornelisse 2 2 Denis Kurochkin 600 2 ekhramtsov 44 4 Elias Rohrer 24 87 Emilio Bustos 82 52 Evgeniy Khramtsov 229257 210283 Evgeny Khramtsov 0 15 Feotov Daniil 67 6 Geoff Cant 279 163 GreenLunar 66 98 Gu Feng 7 3 HAMANO Tsukasa 390 320 Holger Wei 2 0 Holger Weiss 5665 3161 iulianlaz 13 1 jabber 5 0 Jamie Nguyen 401 532 Janusz Dziemidowicz 129 41 Jerome Sautret 1300 199 Jérôme Sautret 1465 1011 Johan Oudinet 16 12 Jonas Ådahl 7 1 jpegger 1 1 Juan Pablo Carlino 2 2 Leif Bredgaard Honore 2 2 liudan 6 4 Marek Foss 12 5 Martin Langhoff 81 7 Mathias Ertl 33 31 Matthias Rieber 22 6 Matwey V. Kornilov 7 13 Maxim Ignatenko 857 567 Mickael Remond 1458 1118 Mickaël Rémond 394 115 Mickaël Rémond 44205 25665 Mikhail-D 1783 0 mrjameshamilton 1 1 Nathan Bruning 13 11 Nikolaus Polak 17 20 Nycholas de Oliveira e Oliveira 3 1 Otavio Fernandes 71 60 oxpa 4 2 Pablo Polvorin 556 152 Paul Donohue 8 4 Paweł Chmielowski 3305 3548 Peter Lemenkov 11 2 Quan Zhuo 4 4 Radosław Szymczyszyn 51 74 Rahul Gautam 9 9 Remco Wendt 8 0 Sergey Abramyan 542 15 Shelley Shyan 91 104 Sonny Scroggin 167 135 Stephen Röttger 43 36 Steven Lehrburger 2 4 stewart 1 1 Taufan Aditya 5 8 thierry 2 0 tjeerd 4 0 tmallard 6553 1300 Tsukasa Hamano 6 12 Tuncer Ayaz 2 2 vesvalo 19 7 Victor Rodrigues 74 73 W. Andrew Loe III 1 0

пятница, 21 июня 2019 г.

Как просмотреть все коммиты в git?

Потерялся коммит из неродительской ветки. Как сделать checkout?
git log его не видит


Ответ

для просмотра всех коммитов во всех ветках (с псевдо-графическими элементами для отображения связей между коммитами) можно использовать команду:
$ git log --all --graph --decorate
пример вывода для репозитория git-up (вставляю картинкой, чтобы показать раскраску):


если эти параметры надо использовать часто, можно сделать псевдоним (alias). например, la
$ git config --global alias.la 'log --all --graph --decorate'
тогда можно будет вызывать ту же команду короче:
$ git la

пятница, 2 ноября 2018 г.

Как подсчитать количество написанного кода в репозитории по авторам?

Задача узнать, кто из авторов сколько кода написал. Я знаю, что это необъективная информация для подсчета вклада в проект, но все же хоть какая-то статистика. Если знаете какие-то решения, актуальные на данный момент - прошу поделиться.
Пробовал пользоваться вот этим пакетом, но он устарел, т.к. был написан более семи лет назад. Более новых google не выдал.
Есть команда git log --numstat, но она выдает разрозненные данные по коммитам и ей невозможно воспользоваться для данных целей. Или я все же что-то пропустил?


Ответ

Есть команда git log --numstat, но она выдает разрозненные данные по коммитам и ей невозможно воспользоваться для данных целей. Или я все же что-то пропустил?
так на основании выдаваемой информации можно подсчитать, сколько строк добавил и сколько удалил (именно такие цифры выдаёт git log --numstat) каждый автор.
примерно вот так (это я быстренько «набросал», можно и улучшить и оптимизировать):
$ git log --pretty=format:==%an --numstat | \ sed -r '/==.*/{s/^==//;h;D};/^$/D;s/-/0/g;s/\t[^\t]+$//;G;s/(.*)
(.*)/\2\t\1/' \ | awk -F '\t' '{add[$1]+=$2;del[$1]+=$3} END {for (i in add) {print i,add[i],del[i]}}'
для упомянутого вами проекта она выдаёт:
Caue Guerra 361 168 Pedro Matiello 729 238
для проекта https://github.com/processone/ejabberd вот такую статистику выдаёт:
Alexey Shchepin 121555 48334 Andreas Köhler 429 335 Antonio Murdaca 63 10 Anton Ryzhov 0 1 Arno B 22 5 Badlop 310727 228783 Balázs Galambosi 2 2 Ben Langfeld 87 110 bLaDe 1 1 Christian Dröge 17 12 Christopher A. Stelma 1 1 Christophe Romain 42755 54608 Christopher tofu Zorn 128 96 colm 8 3 Cor Cornelisse 2 2 Denis Kurochkin 600 2 ekhramtsov 44 4 Elias Rohrer 24 87 Emilio Bustos 82 52 Evgeniy Khramtsov 229257 210283 Evgeny Khramtsov 0 15 Feotov Daniil 67 6 Geoff Cant 279 163 GreenLunar 66 98 Gu Feng 7 3 HAMANO Tsukasa 390 320 Holger Wei 2 0 Holger Weiss 5665 3161 iulianlaz 13 1 jabber 5 0 Jamie Nguyen 401 532 Janusz Dziemidowicz 129 41 Jerome Sautret 1300 199 Jérôme Sautret 1465 1011 Johan Oudinet 16 12 Jonas Ådahl 7 1 jpegger 1 1 Juan Pablo Carlino 2 2 Leif Bredgaard Honore 2 2 liudan 6 4 Marek Foss 12 5 Martin Langhoff 81 7 Mathias Ertl 33 31 Matthias Rieber 22 6 Matwey V. Kornilov 7 13 Maxim Ignatenko 857 567 Mickael Remond 1458 1118 Mickaël Rémond 394 115 Mickaël Rémond 44205 25665 Mikhail-D 1783 0 mrjameshamilton 1 1 Nathan Bruning 13 11 Nikolaus Polak 17 20 Nycholas de Oliveira e Oliveira 3 1 Otavio Fernandes 71 60 oxpa 4 2 Pablo Polvorin 556 152 Paul Donohue 8 4 Paweł Chmielowski 3305 3548 Peter Lemenkov 11 2 Quan Zhuo 4 4 Radosław Szymczyszyn 51 74 Rahul Gautam 9 9 Remco Wendt 8 0 Sergey Abramyan 542 15 Shelley Shyan 91 104 Sonny Scroggin 167 135 Stephen Röttger 43 36 Steven Lehrburger 2 4 stewart 1 1 Taufan Aditya 5 8 thierry 2 0 tjeerd 4 0 tmallard 6553 1300 Tsukasa Hamano 6 12 Tuncer Ayaz 2 2 vesvalo 19 7 Victor Rodrigues 74 73 W. Andrew Loe III 1 0