Git
Chapters ▾ 2nd Edition

A2.1 Appendix B: Вбудовування Git у ваші застосунки - Git з командного рядка

Якщо ваш застосунок створено для розробників, є хороші шанси, що він може отримати вигоду від інтеграції з системою контролю за програмним кодом. Навіть застосунки для нерозробників, такі як редактори документів, потенційно можуть отримати вигоду з особливостей контролю версій, оскільки модель роботи Git працює дуже добре для багатьох різноманітних сценаріїв.

Якщо вам потрібно інтегрувати Git з вашим застосунком, по суті ви маєте два варіанти: ініціалізація оболонки та використання версії Git для командного рядка, або вбудувати бібліотеку у ваш застосунок. Тут ми розглянемо інтеграцію за допомогою командного рядка так кілька найпопулярніших бібліотек для вбудування Git.

Git з командного рядка

Один з варіантів — породити оболонку (shell) та використати версію Git для командного рядка для виконання завдань. Перевагою цього підходу є канонічність та підтримка всіх можливостей Git. Також це досить легко зробити, оскільки більшість середовищ виконання має досить просту можливість для виклику процесу з аргументами командного рядка. Тим не менш, цей підхід має певні недоліки.

Одним з них є те, що весь результат роботи є звичайним текстом. Це означає, що вам доведеться аналізувати результат роботи команд (що може змінюватись з часом) для отримання прогресу виконання та інформації про результат, що може бути неефективним та схильним до помилок.

Іншим є відсутність відновлення після помилок. Якщо репозиторій якимось чином пошкоджено, або користувач вказав погано сформоване значення конфігурації, то Git просто відмовиться від виконання багатьох операцій.

Ще одним недоліком є управління процесом. Git вимагає від вас управління середовищем оболонки в окремому процесі, що може викликати небажані труднощі. Спроба координувати багато таких процесів (особливо під час можливого доступу до одного репозиторія з різних процесів) може бути доволі складним завданням.