Git для розподіленої розробки програмного забезпечення

Доступно постійно

8,1
Безкоштовно
course image
Записатись на курс
  • Доступно постійно
  • Мова курсу українська
  • Сертифікат по закінченню

Про курс

IT Основи програмування

Разом з курсом «Git для розподіленої розробки програмного забезпечення» ви отримаєте ґрунтовне уявлення про Git – систему контролю вихідного коду, що виникла у спільноті розробників ядра Linux і дозволяє ефективно розробляти широко розповсюджене програмне забезпечення. The Linux Foundation та платформа Prometheus підготували для вас справжній путівник світом Git українською мовою.

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

Цей курс призначений для користувачів комп'ютерів, які мають обмежений досвід роботи в середовищі спільної розробки або взагалі не мають такого досвіду; та / або для тих, хто вже має певний досвід роботи з Linux та іншими проєктами з відкритим вихідним кодом і бажає навчитися користуватися Git'ом.

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

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

НА ЩО ЗВЕРНУТИ УВАГУ?
Аби отримати максимальну користь від цього курсу, вам потрібно мати:

  • Досвід роботи розробником на будь-якій операційній системі.

  • Досвід роботи в командному рядку не є обов'язковим, але буде корисним.

Лабораторні роботи в цьому курсі призначені для виконання або на власному обладнанні, або з використанням віртуальної машини (ВМ) під керуванням гіпервізора, наприклад, сімейства KVM, VMWare або Virtual Box.

Партнери та донори курсу

Цей курс підходить для

Студентів

які мають базові знання програмування та хочуть покращити свої навички у спільній розробці програмного забезпечення

розробників

які вже мають досвід роботи з іншими системами контролю версій або програмуванням

Для спеціалістів з ІТ

які мають знання в Linux і відкритих проєктах і бажають впровадити Git у свою роботу

початківців у розподіленій розробці

які прагнуть зрозуміти, як координувати свою роботу з іншими членами команди

Програма курсу

Розділ 1. Вступ до Git’а

9 лекції ·

Git - це система керування версіями. Такі системи дозволяють зберігати цілісну історію розвитку проєкту, а також дають можливість повернутися до більш ранніх етапів при виявленні проблем. Коли в проєкті беруть участь більше одного розробника, системи керування версіями забезпечують робочий процес для спільної розробки та узгодження суперечливих частин. Існує багато подібних систем, і Git є однією з найновіших. Git – добре розроблена та продумана система для виконання розподіленої розробки, в якій беруть участь багато - навіть тисячі - людей з різних місць і організацій. Ми обговоримо графічні інтерфейси Git'а, але в цьому курсі зосередимося на основних методах командного рядка.

  • Контроль змін
  • Як зрозуміти, звідки береться код: DCO та CLA
  • Розподілена розробка
  • Доступні системи керування версіями
  • Графічні інтерфейси
  • Приклад git-gui
  • Використання браузера та cgit для вихідного коду ядра Linux
  • Документація
  • Книги та онлайнові джерела
Розділ 2. Встановлення Git’а

2 лекції ·

Перш ніж почати користуватися Git'ом, його необхідно встановити у вашій системі. Всі сучасні дистрибутиви Linux мають Git і пов'язане з ним програмне забезпечення, включене до системних файлів. Якщо Git не було включено до інсталяції системи, його можна легко додати пізніше за допомогою звичайних команд встановлення пакунків. Якщо ви хочете встановити новішу версію Git'а, ніж та, що є у вашому дистрибутиві, ви можете встановити її безпосередньо з вихідного коду, і ви навіть можете використовувати для цього Git. Ми пояснимо, як це зробити. Якщо у вас інша операційна система, а не Linux, наприклад, якась версія Microsoft Windows, Git все одно доступний, і ми обговоримо, як його налаштувати і зробити так, щоб він працював.

  • Встановлення Binary
  • Встановлення з вихідного коду
Розділ 3. Git та системи керування версіями

6 лекції ·

  • Переходи між різними системами
  • Система керування версіями RCS
  • Система керування версіями CVS
  • Subversion
  • Git
  • Git та розподілена розробка
Розділ 4. Використання Git’а: Приклад

5 лекції ·

  • Основні команди (1)
  • Основні команди (2)
  • master vs. main
  • Простий приклад (1)
  • Простий приклад (2)
Розділ 5. Концепції та архітектура Git

8 лекції ·

  • Концепції
  • Особливості дизайну
  • Репозиторії
  • Об’єкти та зміст (Index)
  • Контент vs. Шляхи файлів
  • Комміт vs. Публікація
  • Апстрим та даунстрим
  • Розгалуження (Forks)
Розділ 6. Керування файлами та змістом (Index)

2 лекції ·

Git розрізняє три типи файлів: відстежувані, ігноровані та невідстежувані, причому лише відстежувані файли зберігаються у репозиторії. Нижче наведено основні операції з файлами: Додавання файлів; Видалення файлів; Переміщення (і перейменування) файлів; Створення списків файлів; У наступному розділі ми обговоримо створення коммітів, що насправді є не лише файловою операцією.

  • Категорії файлів
  • Основні файлові команди
Розділ 7. Комміти

9 лекції ·

У цьому розділі описано основні команди та процедури при використанні Git'а; навіть звичайний користувач повинен засвоїти ці кроки. Коли настає час внести зміни у вміст проєкту, розробник, який використовує Git, коммітить один або кілька змінених файлів. Кожен комміт ідентифікується 40-символьним шістнадцятковим хешем. Для зручності їх можна вказувати значно коротшими абревіатурами. У будь-якому місці можна також вказати теги. Це прості рядки символів, які є більш описовими і на які легше посилатися. Ви можете повернутися до будь-якого попереднього комміту або тегу за допомогою команди git checkout. За допомогою git diff легко вивчити історію проєкту і порівняти будь-які два комміти або теги. За необхідності можна повернутися до будь-якої попередньої стадії за допомогою однієї команди, а також відмовитися від поганого комміту. Блеймінг (звинувачення) дозволяє точно бачити, коли конкретні файли і рядки були змінені, а також коли і ким. Нарешті, використання технології поділу навпіл (бісекції) Git'а дозволяє точно визначити, який саме комміт спричинив проблеми.

  • Як робити комміти
  • Визначники та теги
  • Перегляд історії коммітів (1)
  • Перегляд історії коммітів (2)
  • Скасування (reverting) та скидання (resetting) коммітів
  • «Прибирання» в репозиторії
  • Хто винний?
  • Поділ навпіл (бісекція) (1)
  • Поділ навпіл (бісекція) (2)
Розділ 8. Гілки

5 лекції ·

  • Що таке гілка?
  • Назви гілок vs. Теги
  • Створення гілки
  • Перехід на гілку (checkout)
  • Одержання ранніх версій файлів
Розділ 9. Отримання відмінностей (diffs)

2 лекції ·

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

  • Отримання відмінностей файлів за допомогою diff
  • Diff у Git
Розділ 10. Злиття (merges)

5 лекції ·

  • Що таке злиття (merge)?
  • Команди злиття (1)
  • Команди злиття (2)
  • Перебазування (rebase) (1)
  • Перебазування (rebase) (2)
Розділ 11. Управління локальними та віддаленими репозиторіями

6 лекції ·

  • Спільна робота
  • Клонування (1)
  • Клонування (2)
  • Публікація вашого проєкту (1)
  • Публікація вашого проєкту (2) Заголовки 2-го рівня можуть бути створені провайдерами курсів у майбутньому.
  • Отримання (fetch), завантаження (pull) та подання (push)
Розділ 12. Використання патчів

5 лекції ·

  • Навіщо використовувати патчі?
  • Створення патчів
  • Надсилання поштою
  • Застосування патчів
  • Зміни, викликані командами застосування патчів git
Розділ 13. Складні інтерфейси Git: Gerrit

3 лекції ·

Git – дуже потужний інструмент, і графічні інтерфейси, такі як GitHub, можуть бути дуже корисними, а ось складніші робочі процеси виграють від використання таких інструментів, як Gerrit. Саме про це ми зараз поговоримо.

  • Види розподіленої розробки
  • Gerrit
  • Процес перегляду та оцінки змін

ВИКЛАДАЧ

Джеррі Куперштейн

mentor image

Доктор філософії

Маєте питання?

Курс безкоштовний?
Так. Все, що вам знадобиться, – доступ до мережі інтернет на швидкості, достатній для перегляду відеолекцій.
В який час будуть проходити заняття?
Відеолекції, завдання, форум і можливість отримати сертифікат доступні в будь-який час.
Чи зможу я отримати сертифікат по завершенню цього курсу?
Так! Успішно виконайте всі завдання курсу та отримайте сертифікат про його завершення. Вказання годин та кредитів ЄКТС на сертифікаті не передбачено.

Не знайшли відповідь?

Центр допомоги

Нові курси

Дивитися всі