-
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 Кухонні команди
A1.5 Додаток A: Git в інших середовищах - Git у Zsh
Git у Zsh
Zsh також постачає бібліотеку доповнювання для Git.
Щоб скористатися нею, просто виконайте autoload -Uz compinit && compinit
зі свого .zshrc
.
Інтерфейс Zsh трохи функціональніший за той, що в Bash:
$ git che<tab>
check-attr -- display gitattributes information (відобразити інформацію gitattributes)
check-ref-format -- ensure that a reference name is well formed (переконатись, що ім’я посилання правильне)
checkout -- checkout branch or paths to working tree (отримати гілку чи шляхи до робочого дерева)
checkout-index -- copy files from index to working directory (скопіювати файли з індексу до робочої директорії)
cherry -- find commits not merged upstream (знайти коміти, які не злиті до першоджерела)
cherry-pick -- apply changes introduced by some existing commits (застосувати зміни, запроваджені існуючими комітами)
Неоднозначні доповнення не просто надаються списком; вони мають корисні описи, та ви можете графічно переміщуватись списком, якщо повторно натискатимете tab. Це працює з командами Git, їхніми аргументами, та іменами речей всередині репозиторія (на кшталт посилань чи віддалених сховищ), а також назв файлів та всіх речей, які Zsh знає як доповнювати.
Zsh встановлюється з системою отримання інформації з систем керування версіями під назвою vcs_info
.
Щоб включити назву гілки з правого боку запиту команд, додайте такі рядки до свого файлу ~/.zshrc
:
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'
Це призводить до відображення поточної гілки з правого боку вікна терміналу, коли ваша оболонка знаходиться всередині репозиторія Git. (Авжеж правий бік також підтримується; просто розкоментуйте присвоєння PROMPT.) Виглядає він схоже на наступне:
![Налаштований запит `zsh`.](png/zsh-prompt.png)
zsh
.Задля докладнішої інформації про vcs_info, зверніться до його документації
в довідці zshcontrib(1)
або онлайн за адресою http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.
Instead of vcs_info, you might prefer the prompt customization script that ships with Git, called git-prompt.sh
; see https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh for details.
git-prompt.sh
is compatible with both Bash and Zsh.
Zsh настільки могутній, що існують цілі фреймворки, присвячені його поліпшенню. Один з них називається "oh-my-zsh", та його можна знайти за адресою https://github.com/robbyrussell/oh-my-zsh. Система додатків oh-my-zsh має потужне доповнення git, а також має різноманітні "теми" запитів, багато з яких відображають дані керування версіями. Приклад теми oh-my-zsh. — це лише один з прикладів того, що може бути зроблено в цій системі.
![Приклад теми oh-my-zsh.](png/zsh-oh-my.png)