-
1. Введение
- 1.1 О системе контроля версий
- 1.2 Краткая история Git
- 1.3 Что такое Git?
- 1.4 Командная строка
- 1.5 Установка Git
- 1.6 Первоначальная настройка Git
- 1.7 Как получить помощь?
- 1.8 Заключение
-
2. Основы Git
-
3. Ветвление в Git
- 3.1 О ветвлении в двух словах
- 3.2 Основы ветвления и слияния
- 3.3 Управление ветками
- 3.4 Работа с ветками
- 3.5 Удалённые ветки
- 3.6 Перебазирование
- 3.7 Заключение
-
4. Git на сервере
- 4.1 Протоколы
- 4.2 Установка Git на сервер
- 4.3 Генерация открытого SSH ключа
- 4.4 Настраиваем сервер
- 4.5 Git-демон
- 4.6 Умный HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Git-хостинг
- 4.10 Заключение
-
5. Распределённый Git
-
6. GitHub
-
7. Инструменты Git
- 7.1 Выбор ревизии
- 7.2 Интерактивное индексирование
- 7.3 Припрятывание и очистка
- 7.4 Подпись
- 7.5 Поиск
- 7.6 Перезапись истории
- 7.7 Раскрытие тайн reset
- 7.8 Продвинутое слияние
- 7.9 Rerere
- 7.10 Обнаружение ошибок с помощью Git
- 7.11 Подмодули
- 7.12 Создание пакетов
- 7.13 Замена
- 7.14 Хранилище учётных данных
- 7.15 Заключение
-
8. Настройка Git
- 8.1 Конфигурация Git
- 8.2 Атрибуты Git
- 8.3 Хуки в Git
- 8.4 Пример принудительной политики Git
- 8.5 Заключение
-
9. Git и другие системы контроля версий
- 9.1 Git как клиент
- 9.2 Переход на Git
- 9.3 Заключение
-
10. Git изнутри
- 10.1 Сантехника и Фарфор
- 10.2 Объекты Git
- 10.3 Ссылки в Git
- 10.4 Pack-файлы
- 10.5 Спецификации ссылок
- 10.6 Протоколы передачи данных
- 10.7 Обслуживание репозитория и восстановление данных
- 10.8 Переменные окружения
- 10.9 Заключение
-
A1. Приложение A: Git в других окружениях
- A1.1 Графические интерфейсы
- A1.2 Git в Visual Studio
- A1.3 Git в Visual Studio Code
- A1.4 Git в Eclipse
- A1.5 Git в IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.6 Git в Sublime Text
- A1.7 Git в Bash
- A1.8 Git в Zsh
- A1.9 Git в PowerShell
- A1.10 Заключение
-
A2. Приложение B: Встраивание Git в ваши приложения
- A2.1 Git из командной строки
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Приложение C: Команды Git
- A3.1 Настройка и конфигурация
- A3.2 Клонирование и создание репозиториев
- A3.3 Основные команды
- A3.4 Ветвление и слияния
- A3.5 Совместная работа и обновление проектов
- A3.6 Осмотр и сравнение
- A3.7 Отладка
- A3.8 Внесение исправлений
- A3.9 Работа с помощью электронной почты
- A3.10 Внешние системы
- A3.11 Администрирование
- A3.12 Низкоуровневые команды
A3.9 Приложение C: Команды Git - Работа с помощью электронной почты
Работа с помощью электронной почты
Множество проектов, использующих Git (включая сам Git), активно используют списки рассылок для координирования процесса разработки. В Git есть несколько команд, помогающих в этом, начиная от генерации патчей, готовых к пересылке по электронной почте, заканчивая применением таких патчей прямиком из почты.
git apply
Команда git apply
применяет патч, сформированный с помощью команды git diff
или GNU diff
.
Она делает практически то же самое, что и команда patch
.
Мы продемонстрировали использование этой команды в разделе Применение патчей, полученных по почте главы 5 и описали случаи, когда вы возможно захотите ею воспользоваться.
git am
Команда git am
используется для применения патчей из входящих сообщений электронной почты, в частности, тех что используют формат mbox
.
Это используется для простого получения изменений через email и применения их к проекту.
Мы рассмотрели использование этой команды в разделе Применение патча командой am
главы 5, включая такие опции как --resolved
, -i
и -3
.
Существует набор триггеров, которые могут оказаться полезными при использовании git am
для процесса разработки.
О них рассказано в разделе Хуки для рабочего процесса на основе E-mail главы 8.
Также мы использовали git am
для применения сформированного из GitHub-запроса на слияние patch-файла в разделе Email уведомления главы 6.
git format-patch
Команда git format-patch
используется для создания набора патчей в формате mbox
которые можно использовать для отправки в список рассылки.
Мы рассмотрели процесс отсылки изменений в проект, использующий email для разработки в разделе Публичный проект посредством E-Mail главы 5.
git send-email
Команда git send-email
используется для отсылки патчей, сформированных с использованием git format-patch
, по электронной почте.
Процесс отсылки изменений по электронной почте в проект рассмотрен в разделе Публичный проект посредством E-Mail главы 5.
git request-pull
Команда git request-pull
используется для генерации примерного текста сообщения для отсылки кому-либо.
Если у вас есть ветка, хранящаяся на публичном сервере, и вы хотите чтобы кто-либо забрал эти изменения без возни с отсылкой патчей по электронной почте, вы можете выполнить эту команду и послать её вывод тому человеку.
Мы показали, как пользоваться этой командой в разделе Форк публичного проекта главы 5.