-
1. Вступ
- 1.1 Про систему контролю версій
- 1.2 Коротка історія Git
- 1.3 Основи Git
- 1.4 Git, зазвичай, тільки додає дані
- 1.5 Три стани
- 1.6 Командний рядок
- 1.7 Інсталяція Git
- 1.8 Початкове налаштування Git
- 1.9 Отримання допомоги
- 1.10 Підсумок
-
2. Основи Git
- 2.1 Створення Git-сховища
- 2.2 Запис змін до репозиторія
- 2.3 Перегляд історії комітів
- 2.4 Скасування речей
- 2.5 Взаємодія з віддаленими сховищами
- 2.6 Теґування
- 2.7 Псевдоніми Git
- 2.8 Підсумок
-
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 Варіанти стороннього хостингу
- 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 Збереження посвідчення (credential)
- 7.15 Підсумок
-
8. Налаштування Git
-
9. Git and Other Systems
- 9.1 Git як клієнт
- 9.2 Міграція на Git
- 9.3 Підсумок
-
10. Git зсередини
- 10.1 Кухонні та парадні команди
- 10.2 Об’єкти Git
- 10.3 Посилання Git
- 10.4 Файли пакунки
- 10.5 Специфікація посилань (refspec)
- 10.6 Протоколи передачі
- 10.7 Супроводження та відновлення даних
- 10.8 Змінні середовища
- 10.9 Підсумок
-
A1. Додаток A: Git в інших середовищах
- A1.1 Графічні інтерфейси
- A1.2 Git у Visual Studio
- A1.3 Git в Eclipse
- A1.4 Git у Bash
- A1.5 Git у Zsh
- A1.6 Git у Powershell
- A1.7 Підсумок
-
A2. Додаток B: Вбудовування Git у ваші застосунки
- A2.1 Git з командного рядка
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
-
A3. Додаток C: Команди Git
- A3.1 Налаштування та конфігурація
- A3.2 Отримання та створення проектів
- A3.3 Базове збереження відбитків
- A3.4 Галуження та зливання
- A3.5 Поширення й оновлення проектів
- A3.6 Огляд та порівняння
- A3.7 Зневаджування
- A3.8 Латання (patching)
- A3.9 Електронна пошта
- A3.10 Зовнішні системи
- A3.11 Адміністрування
- A3.12 Кухонні команди
A3.9 Додаток C: Команди Git - Електронна пошта
Електронна пошта
Багато проектів Git, включно зі самим Git, супроводжуються цілковито через поштові розсилання. Git має чимало вбудованих інструментів, щоб зробити цей процес легшим, від створення латок, які легко можна передати поштою до застосування цих латок прямо з поштової скриньки.
git apply
Команда git apply
застосовує латку, створену за допомогою git diff
чи навіть командою GNU diff.
Вона схожа на те, що може зробити команда patch
, з декількома маленькими відмінностями.
Ми демонструємо її використання та обставини, в яких ви можете забажати це робити в Застосування латок, отриманих поштою.
git am
Команда git am
використовується для застосування латок з поштової скриньки, лише тих, що у форматі mbox.
Це корисно для легкого отримання латок через пошту та застосування їх до проекту.
Ми розглянули використання та процес роботи навколо git am
у Застосування латки за допомогою am
, включно з використанням опцій --resolved
, -i
та -3
.
Існує також декілька гаків, які ви можете використати, щоб допомогти з процесом роботи навколо git am
, усі вони розглянуті в Гаки процесу роботи з поштою.
Ми також використовували її, щоб застосувати зміни з Pull Request сайту GitHub у форматі латки в Повідомлення електронною поштою.
git format-patch
Команда git format-patch
використовується для генерації послідовності латок у форматі mbox, які ви можете використати для надсилання до поштової розсилки в правильному форматі.
Ми розглядаємо приклад внеску до проекту, що використовує інструмент git format-patch
, у Відкритий проект за допомогою електронної пошти.
git imap-send
Команда git imap-send
відвантажує згенерований за допомогою git format-patch
mailbox до директорії чернеток (drafts) IMAP.
Ми розглядаємо приклад додання внеску до проекту, для чого надсилаємо латки інструментом git imap-send
, у Відкритий проект за допомогою електронної пошти.
git send-email
Команда git send-email
використовується для надсилання латок, що були згенеровані за допомогою git format-patch
, поштою.
Ми розглядаємо приклад внеску до проекту за допомогою надсилання латок командою git send-email
у Відкритий проект за допомогою електронної пошти.
git request-pull
Команда git request-pull
використовується просто щоб згенерувати приклад тіла поштового повідомлення до когось.
Якщо у вас є гілка на публічному сервері та ви бажаєте повідомити комусь, як інтегрувати ці зміни без надсилання латок поштою, то можете виконати цю команду та надіслати її вивід до людини, що ви бажаєте щоб вона втягнула (pull) ці зміни.
Ми демонструємо як використовувати git request-pull
для генерації повідомлення про втягування в Відкритий проект з форками.