Название: Pro Git, 2nd edition

Авторы: Scott Chacon, Ben Straub

Язык: Русский

Год: 2014

Лицензия: Creative Commons Attribution-NonCommercial-ShareAlike 3.0.

ID: 10

Скачать: PDF, EPUB, MOBI, HTML5

Содержание:

Предисловие
Contributors
Вступление
Введение
    О системе контроля версий
        Локальные системы контроля версий
        Централизованные системы контроля версий
        Децентрализованные системы контроля версий
    Краткая история Git
    Основы Git
        Снимки, а не различия
        Почти все операции выполняются локально
        Целостность Git
        Git только добавляет данные
        Три состояния
    Командная строка
    Установка Git
        Установка в Linux
        Установка на Mac
        Установка в Windows
        Установка из исходников
    Первоначальная настройка Git
        Имя пользователя
        Выбор редактора
        Проверка настроек
    Как получить помощь?
    Заключение
    Основы Git
        Создание Git-репозитория
            Создание репозитория в существующей директории
            Клонирование существующего репозитория
        Запись изменений в репозиторий
            Определение состояния файлов
            Отслеживание новых файлов
            Индексация изменённых файлов
            Сокращенный вывод статуса
            Игнорирование файлов
            Просмотр индексированных и неиндексированных изменений
            Фиксация изменений
            Игнорирование индексации
            Removing Files
            Перемещение файлов
    Просмотр истории коммитов
        Ограничение вывода
    Операции отмены
        Отмена подготовки файла
        Отмена изменения измененного файла
    Работа с удалёнными репозиториями
        Просмотр удалённых репозиториев
        Добавление удалённых репозиториев
        Fetching and Pulling from Your Remotes
        Pushing to Your Remotes
        Inspecting a Remote
        Removing and Renaming Remotes
    Работа с метками
        Просмотр меток
        Создание меток
        Аннотированные метки
        Легковесные метки
        Выставление меток позже
        Обмен метками
        Переход на метку
    Псевдонимы в Git
    Заключение

Ветвление в Git
    О ветвлении в двух словах
        Создание новой ветки
        Переключение веток
    Основы ветвления и слияния
        Основы ветвления
        Основы слияния
        Основные конфликты слияния
    Управление ветками
    Branching Workflows
        Long-Running Branches
        Topic Branches   
    Удалённые ветки
        Отправка изменений
        Отслеживание веток
        Получение изменений
        Удаление веток на удалённом сервере
    Rebasing
        The Basic Rebase
        More Interesting Rebases
        The Perils of Rebasing
        Rebase When You Rebase
        Rebase vs. Merge
    Итоги

Git на сервере
    Протоколы
        Локальный протокол
        Протоколы HTTP
        Протокол SSH
        Git-протокол
    Установка Git на сервер
        Размещение голого репозитория на сервере
        Малые установки
    Генерация открытого SSH ключа
    Настраиваем сервер
    Git-демон
    Умный HTTP
    GitWeb
    GitLab
        Установка
        Администрирование
        Базовое использование
        Совместная работа
    Git-хостинг
    Заключение

Распределенный Git
    Distributed Workflows
        Centralized Workflow
        Integration-Manager Workflow
        Dictator and Lieutenants Workflow
        Workflows Summary
    Contributing to a Project
        Commit Guidelines
        Private Small Team
        Private Managed Team
        Forked Public Project
        Public Project over E-Mail
        Summary
    Maintaining a Project
        Working in Topic Branches
        Applying Patches from E-mail
        Checking Out Remote Branches
        Determining What Is Introduced
        Integrating Contributed Work
        Tagging Your Releases
        Generating a Build Number
        Preparing a Release
        The Shortlog
    Заключение

GitHub
    Настройка и конфигурация учетной записи
        Доступ по SSH
        Ваш аватар
        Ваши почтовые адреса
        Двухфакторная аутентификация
    Внесение собственного вклада в проекты
        Создание ответвлений (fork)
        Рабочий процесс с использованием GitHub
        Advanced Pull Requests
        Markdown
    Maintaining a Project
        Creating a New Repository
        Adding Collaborators
        Managing Pull Requests
        Mentions and Notifications
        Special Files
    README
    CONTRIBUTING
    Project Administration
    Managing an organization
        Organization Basics
        Teams
        Audit Log
    Scripting GitHub
        Hooks
        The GitHub API
        Basic Usage
        Commenting on an Issue
        Changing the Status of a Pull Request
        Octokit
    Заключение

Инструменты Git
    Выбор ревизии
        Одиночные ревизии
        Сокращенный SHA-1
        Ссылки на ветки
        RefLog-сокращения
        Ссылки на предков
         Диапазоны фиксаций
    Интерактивное индексирование
        Добавление и удаление файлов из индекса
        Индексирование по частям
    Прибережение и очистка
        Прибережение ваших наработок
        Продуктивное прибережение
        Создание ветки из спрятанных изменений
        Очистка вашей рабочей директории
    Подпись результатов вашей работы
        Введение в GPG
        Подпись тегов
        Проверка тегов
        Подпись коммитов
        Каждый должен подписываться
    Поиск
        Git Grep
        Поиск в журнале изменений Git
    Исправление истории
        Изменение последней фиксации
        Изменение сообщений нескольких фиксаций
        Переупорядочивание фиксаций
        Объединение фиксаций
        Разбиение фиксации
        Продвинутый инструмент: filter-branch
    Раскрытие тайн reset
        Три дерева
        Технологический процесс
        Назначение reset
        Reset с указанием пути
        Слияние коммитов
        Сравнение с checkout
        Заключение
    Продвинутое слияние
        Конфликты слияния
        Отмена слияний
        Другие типы слияний
    Rerere
    Обнаружение ошибок с помощью Git
        Аннотация файла
        Бинарный поиск
    Подмодули
        Начало работы с подмодулями
        Клонирование проекта с подмодулями
        Работа над проектом с подмодулями
        Полезные советы для работы с подмодулями
        Проблемы с подмодулями
    Создание пакетов
    Замена
    Хранилище учетных данных
        Под капотом
        Собственное хранилище учетных данных
    Заключение

    Настройка Git
        Git Configuration
        Basic Client Configuration
        Colors in Git
        External Merge and Diff Tools
        Formatting and Whitespace
        Server Configuration
    Git Attributes
        Binary Files
        Keyword Expansion
        Exporting Your Repository
        Merge Strategies
    Git Hooks
        Installing a Hook
        Client-Side Hooks
        Server-Side Hooks
    An Example Git-Enforced Policy
        Server-Side Hook
        Client-Side Hooks
    Заключение

    Git и другие системы контроля версий
        Git как клиент
        Git и Subversion
        Git и Mercurial
        Git и Perforce
        Git и TFS
    Миграция на Git
        Subversion
        Mercurial
        Perforce
        TFS
        Импорт произвольного репозитория
        Заключение

Git изнутри
    Сантехника и Фарфор
    Объекты Git
        Деревья
        Commit Objects
        Хранение объектов
    Ссылки в Git
        HEAD
        Метки
        Ссылки на удалённые ветки
    Pack-файлы
    Спецификации ссылок
        Спецификации ссылок для отправки данных на сервер
        Удаление ссылок
    Протоколы передачи данных
        Глупый протокол
        Умный протокол
        Заключение
    Уход за репозиторием и восстановление данных
        Уход за репозиторием
        Восстановление данных
        Removing Objects
    Переменные среды
       Глобальное поведение
       Расположение репозитория
       Пути к файлам
       Фиксация изменений
       Работа с сетью
       Сравнение файлов и слияния
       Отладка
       Разное
       Заключение

Git в других окружениях
    Графические интерфейсы
        gitk и git-gui
        GitHub для Mac и Windows
        Другие инструменты
    Git в Visual Studio
    Git в Eclipse
    Git в Bash
    Git в Zsh
    Git в Powershell
    Заключение

Встраивание Git’а в ваши приложения
    Git из командной строки
    Libgit2
        Расширенная функциональность
        Обёртки для других языков
        Дальнейшее чтение
    JGit
        Приступая к работе
        Служебный API
        Пользовательский API
        Дальнейшее чтение

Команды Git
    Настройка и конфигурация
        git config
        git help
    Клонирование и создание репозиториев
        git init
        git clone
    Основные команды
        git add
        git status
        git diff
        git difftool
        git commit
        git reset
        git rm
        git mv
        git clean
    Ветвление и слияния
        git branch
        git checkout
        git merge
        git mergetool
        git log
        git stash
        git tag
    Совместная работа и обновление проектов
        git fetch
        git pull
        git push
        git remote
        git archive
        git submodule
    Осмотр и сравнение
       git show
       git shortlog
       git describe
    Отладка
       git bisect
       git blame
       git grep
    Внесение исправлений
       git cherry-pick
       git rebase
       git revert
    Работа с помощью электронной почты
       git apply
       git am
       git format-patch
       git send-email
       git request-pull
    Внешние системы
       git svn
       git fast-import
    Администрирование
       git gc
       git fsck
       git reflog
       git filter-branch
    Низкоуровневые команды