Внимание!!!! Книга удалена по требованию
правообладателя!!!!
Вступление....17
Для кого эта книга....17
Требования....17
Новое в третьем издании....18
Навигация по книге....18
Установка Git....19
Что не вошло в книгу....19
Условные обозначения....19
Благодарности....21
Владельцы торговых марок....22
От издательства....22
Часть I. Философия Git....23
Глава 1. Знакомство с Git....24
Компоненты Git....24
Характеристики Git....26
Командная строка Git....28
Использование Git: быстрый старт....30
Подготовка к работе с Git....31
Работа с локальным репозиторием....31
Работа с общим репозиторием....41
Файлы конфигурации....42
Итоги....45
Глава 2. Фундаментальные понятия....46
Репозитории....46
Хранилище объектов Git....47
Индекс....48
Контентно-адресуемая база данных....50
Отслеживание содержимого в Git....51
Имя пути или содержимое....52
Файлы packfile....53
Визуализация хранилища Git....54
Внутренние механики Git: принципы в действии....57
Внутри каталога .git....57
BLOB-объекты и хеши....59
Объект дерева и файлы....60
Особенности использования SHA-1 в Git....61
Иерархия деревьев....63
Объекты коммита....64
Объекты тегов....67
Итоги....68
Часть II. Основы Git....69
Глава 3. Ветки....75
Зачем в Git нужны ветки....76
Руководство по ветвлению....76
Имена веток....77
Правила именования веток....78
Управление ветками....78
Работа в ветках....79
Создание веток....81
Вывод списка имен веток....83
Просмотр веток и их коммитов....83
Переключение веток....86
Внесение изменений в другую ветку....90
Создание новой ветки и переключение на нее....93
Отсоединенная HEAD....94
Удаление веток....96
Итоги....99
Глава 4. Коммиты....100
Коммиты: зафиксированные единицы изменений....100
Атомарные наборы изменений....101
Идентификация коммитов....102
Абсолютные имена коммитов....103
Ссылки и символические ссылки....104
Относительные имена коммитов....106
История коммитов....108
Просмотр старых коммитов....109
Графы коммитов....112
Диапазоны коммитов....117
Итоги....122
Глава 5. Управление файлами и индекс....123
Важность индекса....123
Классификация файлов в Git....125
Использование git add....127
Заметки по использованию git commit....131
Использование git commit --all....131
Запись сообщений коммитов....133
Использование git rm....133
Использование git mv....136
Заметки по отслеживанию переименования....138
Файл .gitignore....139
Итоги....142
Глава 6. Слияния....143
Слияние: техническая сторона....143
Примеры слияния....144
Подготовка к слиянию....144
Слияние двух веток....144
Когда слияние ведет к конфликту....147
Работа с конфликтами слияния....150
Обнаружение конфликтующих файлов....151
Проверка конфликтов....152
Как Git отслеживает конфликты....158
Последний этап разрешения конфликта....160
Отмена или перезапуск слияния....161
Стратегии слияния....162
Вырожденные слияния....164
Нормальные слияния....168
Специализированные слияния....170
Применение стратегий слияния....171
Драйверы слияния....172
Как Git анализирует слияния....173
Слияния и объектная модель Git....173
Сжатое слияние (squash merge)....174
Почему бы просто не вливать изменения одно за другим?....175
Итоги....176
Глава 7. Команда diff....177
Формы команды git diff....179
Простой пример git diff....183
Интерпретация вывода git diff....186
git diff и диапазоны коммитов....188
git diff с ограничением пути....191
Как Git выводит отличия....193
Итоги....194
Часть III. Базовые навыки....195
Глава 8. Поиск коммитов....196
Использование git bisect....196
Использование git blame....203
Использование инструмента Pickaxe....204
Итоги....204
Глава 9. Изменение коммитов....205
Изменение истории коммитов. Общие принципы....206
Изменения истории: будьте осторожны....207
Использование git revert....209
Изменение HEAD-коммита....210
Использование git reset....213
Использование git cherry-pick....221
reset, revert и checkout....223
Перебазирование коммитов....224
Использование git rebase -i....227
Сравнение rebase и merge....231
Итоги....237
Глава 10. Локальное хранилище и журнал ссылок....238
Локальное хранилище....238
Пример: прерывание рабочего процесса....238
Пример: обновление локальной работы изменениями из вышестоящего репозитория ....244
Пример: преобразование изменений из локального хранилища в ветку....247
Журнал ссылок (reflog)....250
Итоги....255
Глава 11. Удаленные репозитории....256
Блок I: основные концепции....257
Пустые репозитории и репозитории разработки....257
Клоны репозитория....259
Удаленные репозитории....260
Ветки отслеживания....261
Ссылки на другие репозитории....263
Обращение к удаленным репозиториям....263
Refspec....265
Блок II: пример использования удаленных репозиториев....268
Создание достоверного репозитория....269
Создание собственного удаленного подключения origin....271
Разработка в вашем репозитории....273
Передача изменений....274
Добавление нового разработчика....275
Получение обновлений репозитория....277
Блок III: цикл разработки в удаленном репозитории в картинках....283
Клонирование репозитория....284
Альтернативные истории....285
Передача изменений без перемотки....286
Получение альтернативной истории....287
Слияние историй....288
Конфликты слияния....288
Передача объединенной истории....289
Блок IV: конфигурация удаленного репозитория....290
Использование git remote....291
Использование git config....292
Ручное редактирование....293
Блок V: работа с ветками отслеживания....293
Создание веток отслеживания....294
Опережение и отставание....297
Добавление и удаление удаленных веток....298
Голые репозитории и git push....300
Итоги....301
Глава 12. Управление репозиторием....303
Публикация репозиториев....304
Репозитории с управляемым доступом....304
Репозитории с анонимным доступом к чтению....306
Репозитории с анонимным доступом к записи....310
Совет по публикации репозиториев....310
Структура репозиториев....311
Структура общего репозитория....311
Распределенная структура репозиториев....312
Практическая сторона распределенной разработки....313
Изменение публичной истории....313
Разделение коммита и публикации....314
Не существует единственной истинной истории....315
Знать свое место....316
Вышестоящий и нижестоящий репозитории....316
Роли разработчика и мейнтейнера....317
Взаимодействие между мейнтейнером и разработчиком....318
Двойные роли....319
Работа с несколькими репозиториями....320
Собственное рабочее пространство....320
С чего начать свой репозиторий....321
Преобразование в другой вышестоящий репозиторий....322
Использование нескольких вышестоящих репозиториев....324
Форки проектов....325
Итоги....328
Часть IV. Продвинутые навыки....329
Глава 13. Патчи....330
Зачем использовать патчи?....331
Генерация патчей....332
Патчи и топологическая сортировка....340
Отправка патчей по электронной почте....341
Применение патчей....344
Плохие патчи....352
Патчи и слияния....353
Итоги....353
Глава 14. Хуки....354
Типы хуков....354
Об использовании хуков....355
Установка хуков....357
Шаблоны хуков....357
Создание первого хука....359
Доступные хуки....361
Хуки для коммитов....361
Хуки для патчей....362
Хуки для передачи....363
Другие хуки локального репозитория....364
Создавать хук или нет?....365
Итоги....365
Глава 15. Подмодули....366
Gitlink....366
Подмодули....369
Зачем нужны подмодули....370
Работа с подмодулями....370
Подмодули и переиспользование учетных данных....379
Поддеревья Git....380
Добавление подпроекта....380
Получение обновлений подпроекта....382
Изменение подпроекта из суперпроекта....383
Визуальное сравнение подмодулей и поддеревьев Git....384
Итоги....385
Глава 16. Продвинутые способы управления....386
Интерактивное индексирование фрагментов....386
Полезная команда git rev-list....397
Переключение на основе даты....398
Предостережения при переключении на основе даты....399
Извлечение старой версии файла....401
Восстановление утраченного коммита....403
Команда git fsck....403
Восстановление связи с потерянным коммитом....407
Использование git filter-repo....408
Примеры использования git filter-repo....409
Итоги....416
Часть V. Советы и приемы....417
Глава 17. Советы, приемы и техники....418
Интерактивное перебазирование при грязном рабочем каталоге....418
Сборка мусора....419
Советы по восстановлению коммитов....422
Восстановление после перебазирования вышестоящего репозитория....422
Быстрый обзор изменений....424
Очистка....425
Использование git-grep для поиска по репозиторию....426
Обновление и удаление ссылок....428
Отслеживание перемещаемых файлов....429
Автоматизация повторений....430
Миграция в Git....431
Перенос из системы Git....431
Перенос из другой системы контроля версий....435
Примечание по работе с крупными репозиториями....440
Git LFS....441
Репозиторий до и после Git LFS....442
Установка Git LFS....444
Отслеживание с помощью Git LFS крупных объектов....445
Полезные техники в работе с Git LFS....449
Преобразование репозиториев для использования Git LFS....451
Итоги....452
Глава 18. Git и GitHub....453
О GitHub....453
Виды учетных записей GitHub....454
GitHub в экосистеме Git....458
Размещение репозитория на GitHub....461
Представление репозитория....464
Code....467
Тикеты в GitHub....470
Пул-реквесты....472
GitHub Flow....482
Разрешение конфликтов слияния в GitHub....486
Потоки разработки....493
Интеграция с GitHub....496
Итоги....498
Приложение A. История Git....499
Рождение Git....500
Эволюция систем контроля версий....503
Хронология....504
Что означает название Git....505
Приложение Б. Установка Git....506
Использование бинарных дистрибутивов Linux....506
Debian/Ubuntu....506
Другие бинарные дистрибутивы....506
Установка Git в macOS....507
Установка Git в Windows....508
Получение исходного кода релиза....508
Сборка и установка на основе исходного релиза....508
Об авторах....510
Иллюстрация на обложке....511
Ускорьте свою работу, задействовав Git для отслеживания, ветвления, слияния и управления ревизиями кода. Организованное в виде серии пошаговых уроков, это практическое руководство плавно проводит вас от знакомства с основами Git к использованию продвинутых техник, попутно предоставив дружеские, но при этом серьезные советы по работе со множеством функций этой открытой системы контроля версий.
Авторы Прем Кумар Понуторай и Джон Лолигер детально описывают принципы работы Git, удобно разделяя их по уровням профессионализма. Это тщательно проработанное издание также включает рекомендации по управлению деревьями, развернуто раскрывает тему журнала ссылок и локального хранилища, а в завершении подробно знакомит читателя с платформой GitHub. Как только вы научитесь оперировать гибкими возможностями Git, эта система предоставит вам бесчисленное множество способов управления разработкой кода.
Отличная книга, как и все от этого издательства. Полезна каждому.