Git для профессионального программиста
Скотт Чакон, Бен Штрауб
Эта книга представляет собой обновленное руководство по использованию Git в современных условиях. С тех пор как проект Git - распределенная система управления версиями - был создан Линусом Торвальдсом, прошло много лет, и система Git превратилась в доминирующую систему контроля версий, как для коммерческих целей, так и для проектов с открытым исходным кодом. Эффективный и хорошо реализованный контроль версий необходим для любого успешного веб-проекта. Постепенно эту систему приняли на вооружение практически все сообщества разработчиков ПО с открытым исходным кодом. Появление огромного числа графических интерфейсов для всех платформ и поддержка IDE позволили внедрить Git в операционные системы семейства Windows. Второе издание книги было обновлено для Git-версии 2.0 и уделяет большое внимание GitHub.
Издательство: Питер, Серия: Библиотека программиста, 2016 г.
ISBN 978-5-496-01763-3
Количество страниц: 496.
Содержание книги «Git для профессионального программиста»:
- 16 Предисловие от Скотта Чакона
- 18 Предисловие от Бена Страуба
- 19 1. Начало работы
- 19 Управление версиями
- 20 Локальные системы контроля версий
- 20 Централизованные системы контроля версий
- 21 Распределенные системы контроля версий
- 23 Краткая история Git
- 23 Основы Git
- 24 Снимки состояний, а не изменений
- 25 Локальность операций
- 26 Целостность Git
- 26 Git, как правило, только добавляет данные
- 26 Три состояния
- 28 Командная строка
- 28 Установка Git
- 29 Установка в Linux
- 29 Установка в Mac
- 30 Установка в Windows
- 31 Первая настройка Git
- 31 Ваш идентификатор
- 32 Выбор редактора
- 32 Проверка настроек
- 33 Получение справочной информации
- 33 Заключение
- 34 2. Основы Git
- 34 Создание репозитория в Git
- 34 Инициализация репозитория в существующей папке
- 35 Клонирование существующего репозитория
- 36 Запись изменений в репозиторий
- 37 Проверка состояния файлов
- 37 Слежение за новыми файлами
- 38 Индексация измененных файлов
- 39 Краткий отчет о состоянии
- 40 Игнорирование файлов
- 41 Просмотр индексированных и неиндексированных изменений
- 43 Фиксация изменений
- 45 Пропуск области индексирования
- 45 Удаление файлов
- 47 Перемещение файлов
- 47 Просмотр истории версий
- 52 Ограничение вывода команды log
- 54 Отмена изменений
- 55 Отмена индексирования
- 56 Отмена внесенных в файл изменений
- 57 Удаленные репозитории
- 57 Отображение удаленных репозиториев
- 58 Добавление удаленных репозиториев
- 59 Извлечение данных из удаленных репозиториев
- 59 Отправка данных в удаленный репозиторий
- 60 Просмотр удаленных репозиториев
- 61 Удаление и переименование удаленных репозиториев
- 61 Теги
- 62 Вывод списка тегов
- 62 Создание тегов
- 62 Теги с комментариями
- 63 Легковесные теги
- 63 Расстановка тегов постфактум
- 64 Обмен тегами
- 65 Псевдонимы в Git
- 66 Заключение
- 67 3. Ветвления в Git
- 67 Суть ветвления
- 70 Создание новой ветки
- 71 Смена веток
- 74 Основы ветвления и слияния
- 74 Основы ветвления
- 78 Основы слияния
- 80 Конфликты при слиянии
- 82 Управление ветками
- 83 Приемы работы с ветками
- 84 Долгоживущие ветки
- 85 Тематические ветки
- 87 Удаленные ветки
- 91 Отправка данных
- 92 Слежение за ветками
- 94 Получение данных с последующим слиянием
- 94 Ликвидация веток с удаленного сервера
- 94 Перемещение данных
- 94 Основы перемещения данных
- 97 Более интересные варианты перемещений
- 99 Риски, связанные с перемещением
- 102 Перемещение после перемещения
- 103 Сравнение перемещения и слияния
- 104 Заключение
- 105 4. Git на сервере
- 106 Протоколы
- 106 Локальный протокол
- 107 Протоколы семейства HTTP
- 110 Протокол SSH
- 111 Протокол Git
- 111 Настройка Git на сервере
- 112 Размещение на сервере голого репозитория
- 113 Простые настройки
- 114 Создание открытого ключа SSH
- 115 Настройка сервера
- 117 Git-демон
- 119 Интеллектуальный протокол HTTP
- 120 Интерфейс GitWeb
- 122 Приложение GitLab
- 122 Установка
- 123 Администрирование
- 124 Пользователи
- 124 Группы
- 125 Проекты
- 126 Хуки
- 126 Базовое применение
- 126 Совместная работа
- 127 Сторонний хостинг
- 128 Заключение
- 129 5. Распределенная система Git
- 129 Распределенные рабочие процессы
- 130 Централизованная работа
- 131 Диспетчер интеграции
- 132 Диктатор и помощники
- 133 Заключение
- 133 Содействие проекту
- 134 Рекомендации по созданию коммитов
- 136 Работа в маленькой группе
- 142 Маленькая группа с руководителем
- 146 Открытый проект, ветвление
- 150 Открытый проект, электронная почта
- 153 Заключение
- 153 Сопровождение проекта
- 153 Работа с тематическими ветками
- 154 Исправления, присланные по почте
- 158 Просмотр вносимых изменений
- 159 Интеграция чужих наработок
- 162 Схема с большим количеством слияний
- 163 Схема с перемещением и отбором
- 165 Программный компонент rerere
- 165 Идентификация устойчивых версий
- 166 Генерация номера сборки
- 167 Подготовка устойчивой версии
- 167 Команда shortlog
- 168 Заключение
- 169 6. GitHub
- 170 Настройка и конфигурирование учетной записи
- 170 Доступ по протоколу SSH
- 172 Аватар
- 173 Адреса электронной почты
- 173 Аутентификация по двум признакам
- 174 Содействие проекту
- 175 Ветвления проектов
- 175 Схема работы с GitHub
- 176 Запрос на включение
- 180 Стадии обработки запроса на включение
- 183 Более сложные запросы на включение
- 188 Язык разметки Markdown
- 188 GitHub-версия языка Markdown
- 193 Сопровождение проекта
- 193 Создание нового репозитория
- 194 Добавление соавторов
- 195 Управление запросами на включение
- 201 Упоминания и уведомления
- 204 Специальные файлы
- 206 Администрирование проекта
- 207 Управление организацией
- 207 Основные сведения об организации
- 208 Группы
- 210 Журнал регистрации
- 210 GitHub-сценарии
- 211 Хуки
- 214 API для GitHub
- 220 От пользователя Octokit
- 220 Заключение
- 221 7. Git-инструментарий
- 221 Выбор версии
- 221 Одна версия
- 224 Сокращения журнала ссылок
- 226 Диапазоны коммитов
- 229 Интерактивное индексирование
- 229 Индексирование файлов и его отмена
- 231 Индексирование изменений
- 232 Скрытие и очистка
- 233 Скрытие вашей работы
- 235 Более сложные варианты скрытия
- 236 Отмена скрытых изменений
- 236 Создание ветки из скрытого фрагмента
- 237 Очистка рабочей папки
- 238 Подпись
- 239 Знакомство с GPG
- 239 Подпись тегов
- 240 Проверка тегов
- 240 Подпись коммитов
- 242 Подпись должна быть у всех
- 242 Поиск
- 242 Команда git grep
- 244 Поиск в Git-журнале
- 244 Поиск по строкам кода
- 245 Перезапись истории
- 246 Редактирование последнего коммита
- 246 Редактирование нескольких сообщений фиксации
- 248 Изменение порядка следования коммитов
- 249 Объединение коммитов
- 250 Разбиение коммита
- 251 Последнее средство: команда filter-branch
- 252 Команда reset
- 253 Три дерева
- 254 Рабочий процесс
- 259 Роль команды reset
- 263 Команда reset с указанием пути
- 265 Объединение коммитов
- 267 Сравнение с командой checkout
- 269 Заключение
- 269 Более сложные варианты слияния
- 270 Конфликты слияния
- 272 Прерывание слияния
- 272 Игнорирование пробелов
- 273 Слияние файлов вручную
- 276 Применение команды checkout
- 277 Протоколирование слияния
- 278 Комбинированный формат
- 280 Отмена результатов слияния
- 284 Другие типы слияния
- 287 Команда rerere
- 292 Отладка с помощью Git
- 293 Примечания к файлам
- 294 Двоичный поиск
- 296 Подмодули
- 296 Начало работы
- 298 Клонирование проекта с подмодулями
- 300 Работа над проектом с подмодулями
- 305 Публикация результатов редактирования подмодуля
- 306 Слияние результатов редактирования подмодуля
- 309 Полезные советы
- 313 Пакеты
- 316 Замена
- 322 Хранение учетных данных
- 323 Взгляд изнутри
- 325 Нестандартный вариант хранения учетных данных
- 327 Заключение
- 328 8. Настройка системы Git
- 328 Конфигурирование системы Git
- 329 Основные настройки на стороне клиента
- 331 Цвета в Git
- 332 Внешние инструменты для слияния и индикации изменений
- 336 Форматирование и пробелы
- 338 Настройка сервера
- 339 Git-атрибуты
- 339 Бинарные файлы
- 342 Развертывание ключа
- 345 Экспорт репозитория
- 346 Стратегии слияния
- 347 Git-хуки
- 347 Установка хука
- 347 Хуки на стороне клиента
- 347 Хуки для работы с коммитами
- 348 Хуки для работы с электронной почтой
- 349 Другие клиентские хуки
- 350 Хуки на стороне сервера
- 351 Пример принудительного внедрения политики
- 351 Хук на стороне сервера
- 352 Формат сообщения фиксации
- 353 Система контроля доступа пользователей
- 356 Тестирование
- 357 Хуки на стороне клиента
- 360 Заключение
- 361 9. Git и другие системы контроля версий
- 361 Git в качестве клиента
- 362 Git и Subversion
- 372 Git и Mercurial
- 380 Git и Perforce
- 394 Git и TFS
- 404 Переход на Git
- 404 Subversion
- 406 Mercurial
- 408 Perforce
- 410 TFS
- 411 Другие варианты импорта
- 417 Заключение
- 418 10. Git изнутри
- 419 Канализация и фарфор
- 420 Объекты в Git
- 421 Объекты-деревья
- 424 Объекты-коммиты
- 427 Хранение объектов
- 428 Ссылки в Git
- 429 Указатель HEAD
- 430 Теги
- 431 Удаленные ветки
- 432 Pack-файлы
- 435 Спецификация ссылок
- 437 Спецификация ссылок для отправки данных на сервер
- 437 Ликвидация ссылок
- 438 Протоколы передачи данных
- 438 Простой протокол
- 440 Интеллектуальный протокол
- 444 Обслуживание репозитория и восстановление данных
- 444 Обслуживание репозитория
- 445 Восстановление данных
- 447 Удаление объектов
- 451 Переменные среды
- 451 Глобальное поведение
- 451 Расположение репозитория
- 452 Пути доступа
- 453 Фиксация изменений
- 453 Работа в сети
- 454 Определение изменений и слияние
- 454 Отладка
- 456 Разное
- 457 Заключение
- 458 Приложение A. Git в других средах
- 458 Графические интерфейсы
- 459 Утилиты gitk и git-gui
- 461 GitHub-клиенты для Mac и Windows
- 464 Подводя итоги
- 464 Другие GUI
- 465 Git в Visual Studio
- 466 Git в Eclipse
- 466 Git в Bash
- 468 Git в Zsh
- 469 Git в Powershell
- 470 Заключение
- 471 Приложение Б. Встраивание Git в приложения
- 471 Командная строка
- 472 Libgit2
- 474 Нетривиальная функциональность
- 476 Другие привязки
- 478 Приложение В. Git-команды
- 478 Настройка и конфигурирование
- 479 Копирование и создание проектов
- 480 Фиксация состояния
- 483 Ветвления и слияния
- 486 Совместная работа и обновление проектов
- 489 Проверка и сравнение
- 490 Отладка
- 490 Исправления
- 491 Электронная почта
- 492 Внешние системы
- 493 Администрирование
- 494 Служебные команды
- 495 Об авторах
Инструкция как скачать книгу Скотт Чакон, Бен Штрауб: Git для профессионального программиста в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.