Логотип LiveLibbetaК основной версии

Рецензия на книгу

Pro Git

Скотт Чакон, Бен Штрауб

  • Аватар пользователя
    Аноним14 ноября 2025 г.

    Контентно-адресуемая система хранения Git

    Классная книга. Много полезных и наглядных примеров.
    Самая полезная глава - "Git изнутри". После сложится понимание как работает большинство команд. И можно будет выполнять базовые команды с git репозиторием имея только директорию .git без установленного гита.

    Например. Простотр коммит сообщения по хешу:

    ❯ cat .git/objects/e6/879c0c3e358e8400f3fc5e9677a48ceb661740|perl -MCompress::Zlib -0777 -e 'print uncompress <'|tr '\0' '\n'

    commit 234
    tree c2635674529d78a11624302cc23480a4d00e6984
    parent 420f3aeeaa0c45bfac885856ad24dd9c2569d14b
    author Victor Gaydov 1696324180 +0400
    committer Victor Gaydov 1696324220 +0400

    Refine colorhttp func

    Например. Просмотр какие файлы входят в снапшот:

    ❯ cat .git/objects/c2/635674529d78a11624302cc23480a4d00e6984|perl -MCompress::Zlib -0777 -e '
    $_ = uncompress();
    s/^tree \d+\0//;
    while (/(.?)\0(.{20})/sg) {
    my ($header, $sha) = ($1, $2);
    $header =~ /^(\d+) (.
    )$/;
    my $hex = unpack("H*", $sha);
    print "$1\t$hex\t$2\n";
    }
    '

    40000 d3f3c0e53b33d211697bea88a56f7e62deb6d115 .github
    100644 6bcd33c7f8945c6526bc2b3442fc591946448eff .gitignore
    100644 4f0aa540e6980fd3fe27f6921b923541a9b5f469 .golangci.yml
    100644 f4e3cec654057e6b7d011f9d004fc17e412393d4 .ignore
    100644 da361dcc087c3d081a5ceae48ae064f2e6df9260 .spelling
    100644 c72b02ee8e98654ae8b92732a0c8429a17e1ba51 HACKING.md
    100644 a022050415f901d9e2bb76880f7e14a879c70404 LICENSE
    100644 6f31bfaa909a0f435076e73140b029e49750428b Makefile
    100644 6a9971e0d3ae6df648ac98e61deb32d0e8d9ebd8 README.md
    .....

    И многое другое

    3
    31