Название: 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
Низкоуровневые команды