Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git — это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками (учитывать изменения, которые делаются на том или ином шаге разработки тем или иным разработчиком). С помощью системы Git у вас будет полная иерархия всех версий программного кода разрабатываемого приложения.
Данная книга представляет собой подробное практическое руководство по Git, в котором описывается Git и приводится разбор конкретных ситуаций и применений, например, как изменения из одной ветки разработки включить в другую ветку, но не все. Изложение начинается с самых азов, никакой предварительной подготовки не требуется: по ходу изложения даются все необходимые определения и пояснения.
Лучший выбор, чтобы освоить Git и максимально быстро начать его применять на практике.
Author(s): Фишерман Л. В.
Publisher: Наука и Техника
Year: 2021
Language: Russian
Pages: 304
City: СПб.
ГЛАВА 1. ВВЕДЕНИЕ В GIT
1.1. НЕОБХОДИМОСТЬ РЕЗЕРВНОГО КОПИРОВАНИЯ
1.2. ЭТАПЫ РАЗВИТИЯ
1.3. ЧТО В ИМЕНИ ТВОЕМ?
ГЛАВА 2. УСТАНОВКА GIT
2.1. ИСПОЛЬЗОВАНИЕ ДВОИЧНЫХ ДИСТРИБУТИВОВ LINUX
Debian/Ubuntu
Другие дистрибутивы
2.2. ПОЛУЧЕНИЕ ИСХОДНОГО КОДА
2.3. СБОРКА И УСТАНОВКА
2.4. УСТАНОВКА GIT В WINDOWS
Установка пакета Cygwin Git
Установка msysGit
ГЛАВА 3. НАЧАЛО ИСПОЛЬЗОВАНИЯ
3.1. КОМАНДНАЯ СТРОКА GIT
3.2. БЫСТРОЕ ВВЕДЕНИЕ В GIT
Создание начального репозитария
Добавление файлов в ваш репозитарий
Неясные сообщения об ошибках
Настройка автора коммита (фиксации)
Вносим другой коммит (фиксацию)
Просмотр ваших фиксаций
Просмотр разницы между коммитами (фиксациями)
Удаление и переименование файлов в вашем репозитарии
Копирование вашего репозитария
3.3. ФАЙЛЫ КОНФИГУРАЦИИ
Настройка псевдонимов
Резюме
ГЛАВА 4. БАЗОВЫЕ ПОНЯТИЯ GIT
4.1. БАЗОВЫЕ ПОНЯТИЯ
Репозитарии
Типы объектов Git
Индекс
Глобально уникальные идентификаторы
Git отслеживает контент
Путь по сравнению с содержанием
Pack-файлы
4.2. ИЗОБРАЖЕНИЯ ХРАНИЛИЩА ОБЪЕКТОВ
4.3. ПОНЯТИЯ GIT В ДЕЙСТВИИ
Внутри каталога .git
Объекты, хэши, блобы
Откуда мы знаем, что хэш SHA1 уникален?
Файлы и деревья
Примечание относительно использования SHA1
Иерархия деревьев
Фиксации
Теги
ГЛАВА 5. У ПРАВЛЕНИЕ ФАЙ Л AM И. ИНДЕКС
5.1. ВСЕ ОБ ИНДЕКСЕ
5.2. КЛАССИФИКАЦИЯ ФАЙЛОВ В GIT
5.3. ИСПОЛЬЗОВАНИЕ GIT ADD
5.4. НЕКОТОРЫЕ ЗАМЕЧАНИЯ ОТНОСИТЕЛЬНО ИСПОЛЬЗОВАНИЕ GIT COMMIT
5.5. ИСПОЛЬЗОВАНИЕ GIT RM
5.6. ИСПОЛЬЗОВАНИЕ GIT MV
5.7. ЗАМЕЧАНИЕ ОТНОСИТЕЛЬНО ОТСЛЕЖИВАНИЯ ПЕРЕИМЕНОВАНИЙ
5.8. ПРОБЛЕМЫ С ОТСЛЕЖИВАНИЕМ ПЕРЕИМЕНОВАНИЯ
5.9. ФАЙЛ .GITINGNORE
ГЛАВА 6. КОММИТЫ (ФИКСАЦИИ)
6.1. АТОМАРНЫЕ НАБОРЫ ИЗМЕНЕНИЙ
6.2. ИДЕНТИФИКАЦИЯ ФИКСАЦИЙ
Абсолютные имена фиксации
Ссылки и символьные ссылки
Относительные имена фиксаций
6.3. ИСТОРИЯ ФИКСАЦИЙ
Просмотр старых фиксаций
Графы фиксации
Использование gitk для просмотра графа фиксации
Диапазоны фиксаций
6.4. ДОСТИЖИМОСТЬ В ГРАФАХ
6.5. ПОИСК ФИКСАЦИЙ
Использование git bisect
Использование git blame
Использование Pickaxe
ГЛАВА 7. ВЕТКИ В GIT
7.1. ПРИЧИНЫ ИСПОЛЬЗОВАНИЯ ВЕТОК
7.2. ВЕТКА ИЛИ ТЕГ?
Имена веток
Правила именования веток
7.3. ИСПОЛЬЗОВАНИЕ ВЕТОК
7.4. СОЗДАНИЕ ВЕТОК
7.5. ВЫВОД ИМЕН ВЕТОК
7.6. ПРОСМОТР ВЕТОК
7.7. ПЕРЕКЛЮЧЕНИЕ ВЕТОК И ВЫГРУЗКА ФАЙЛОВ
Базовое переключение между ветками
Переключение веток при имеющихся незафиксированных изменениях
Объединение изменений в другую ветку
Создание новой ветки и переключение на нее
Отсоединение головы ветки
7.8. УДАЛЕНИЕ ВЕТОК
ГЛАВА 8. РАЗЛИЧИЯ В GIT
8.1. ФОРМЫ КОМАНДЫ GIT DIFF
8.2. ПРОСТОЙ ПРИМЕР GIT DIFF
8.3. КОМАНДА GIT DIFF И ДИАПАЗОНЫ ФИКСАЦИЙ
8.4. КОМАНДА GIT DIFF С ОГРАНИЧЕНИЕМ ПУТИ
Сравнение как Subversion (SVN) и Git получают разницы
ГЛАВА 9. СЛИЯНИЯ
9.1. ПРИМЕРЫ СЛИЯНИЯ
Подготовка к слиянию
Объединение двух веток
Слияние с конфликтом
9.2. РАБОТА С КОНФЛИКТАМИ СЛИЯНИЯ
Обнаружение конфликтных файлов
Исследование конфликтов
git diff с конфликтами
git log с конфликтами
Как Git отслеживает конфликты
Завершение разрешения конфликта
Отмена или перезапуск слияния
9.3. СТРАТЕГИИ СЛИЯНИЯ
Вырожденные слияния
Обычные слияния
Рекурсивные слияния
Слияния осьминога
Специальные слияния
9.4. ПРИМЕНЕНИЕ СТРАТЕГИЙ СЛИЯНИЯ
Использование стратегий ours и subtree
Драйверы слияния
Как Git думает о слияниях
Слияния и объектная модель Git
Слияние squash
Почему не выполнять слияние каждого изменения одно за другим?
ГЛАВА 10. ИЗМЕНЕНИЕ КОММИТОВ (ФИКСАЦИЙ)
10.1. ЗАЧЕМ ПРОИЗВОДИТЬ ИЗМЕНЕНИЯ ИСТОРИИ
10.2. ИСПОЛЬЗОВАНИЕ КОМАНДЫ GIT RESET
10.3. ИСПОЛЬЗОВАНИЕ КОМАНДЫ GIT CHERRY-PICK
10.4. ИСПОЛЬЗОВАНИЕ КОМАНДЫ GIT REVERT
10.5. КОМАНДЫ RESET, REVERT И CHECKOUT
10.6. ИЗМЕНЕНИЕ ПОСЛЕДНЕЙ ФИКСАЦИИ
10.7. ПЕРЕБАЗИРОВАНИЕ ФИКСАЦИЙ
Использование команды git rebase -i
Сравнение rebase и merge
ГЛАВА 11. STASH И REFLOG
11.1. STASH
11.2. REFLOG
ГЛАВА 12. УДАЛЕННЫЕ РЕПОЗИТАРИИ
12.1. ПОНЯТИЯ РЕПОЗИТАРИЯ
Чистый репозитарий и репозитарий разработки
Клоны репозитариев
Удаленные
Ветки отслеживания
12.2. ССЫЛКИ НА ДРУГИЕ РЕПОЗИТАРИИ
Ссылки на удаленные репозитарии
Refspec
12.3. ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ УДАЛЕННЫХ РЕПОЗИТАРИЕВ
Создание авторитетного репозитария
Создание вашей собственной удаленной origin
Разработка в вашем репозитарии
Передача ваших изменений
Добавление нового разработчика
Получение обновлений репозитария
12.4. УДАЛЕННАЯ КОНФИГУРАЦИЯ
Использование команды git remote
Использование git config
Редактирование файла конфигурации вручную
Несколько удаленных репозитариев
12.5. РАБОТА С ВЕТКАМИ ОТСЛЕЖИВАНИЯ
Создание веток отслеживания
Впереди и сзади
12.6. ДОБАВЛЕНИЕ И УДАЛЕНИЕ УДАЛЕННЫХ ВЕТОК
12.7. ЧИСТЫЕ (BARE) РЕПОЗИТАРИИ И КОМАНДА GIT PUSH