Git для розподіленої розробки програмного забезпечення
Доступно постійно
Хочете оволодіти Git для ефективної розподіленої розробки програмного забезпечення та краще координувати свою команду? Долучайтеся до курсу «Git для розподіленої розробки програмного забезпечення»! Ви дізнаєтеся, як працювати з Git, налаштувати репозиторії, управляти змінами та використовувати основні функції Git для спільної роботи. Курс буде корисним для розробників, які хочуть покращити свої навички управління кодом і вирішувати складні завдання у розподілених командах.»
- Доступно постійно
- Мова курсу українська
- Сертифікат по закінченню
Про курс
Разом з курсом «Git для розподіленої розробки програмного забезпечення» ви отримаєте ґрунтовне уявлення про Git – систему контролю вихідного коду, що виникла у спільноті розробників ядра Linux і дозволяє ефективно розробляти широко розповсюджене програмне забезпечення. The Linux Foundation та платформа Prometheus підготували для вас справжній путівник світом Git українською мовою. Над ядром Linux працюють тисячі розробників по всьому світу у різних часових поясах і над різними складними проєктами. З часом стало вкрай важливо координувати і відстежувати всю цю роботу в раціональний спосіб. Git був розроблений саме з цією метою, і з того часу він став використовуватися мільйонами інших проєктів з розробки. Зараз Git – це основа більшості розробок з відкритим вихідним кодом. Цей курс призначений для користувачів комп'ютерів, які мають обмежений досвід роботи в середовищі спільної розробки або взагалі не мають такого досвіду; та / або для тих, хто вже має певний досвід роботи з Linux та іншими проєктами з відкритим вихідним кодом і бажає навчитися користуватися Git'ом. У цьому курсі ви дізнаєтеся, що таке Git і як його встановити. Ви побачите, як ініціалізувати репозиторій, вносити до нього зміни, робити його доступним для інших, а також отримувати і використовувати зміни, зроблені іншими людьми. Курс навчить вас знаходити помилки у вашій та чужій роботі, а також як повернутися до робочої копії, щоб швидко ідентифікувати зміну, яка спричинила помилку. Ви також ознайомитеся з певними основними процедурами Git'а, такими як клонування, розгалуження, внесення комітів, отримання різниць, злиття та перебазування. У курсі будуть розглянуті складні робочі процеси, щоб ви розуміли, як до них підходити, коли виникають проблеми. Мета цього курсу – підготувати вас до роботи з Git'ом, щоб ви змогли зробити власний внесок і використовувати його за відносно короткий проміжок часу. Після завершення курсу ви зрозумієте, які інструменти необхідні для успішного вирішення багатьох складних проблем і робочих процесів, що виникають під час спільної розробки. НА ЩО ЗВЕРНУТИ УВАГУ? Аби отримати максимальну користь від цього курсу, вам потрібно мати:
-
Досвід роботи розробником на будь-якій операційній системі.
-
Досвід роботи в командному рядку не є обов'язковим, але буде корисним.
Партнери та донори курсу
Цей курс підходить для
Студентів
які мають базові знання програмування та хочуть покращити свої навички у спільній розробці програмного забезпечення
розробників
які вже мають досвід роботи з іншими системами контролю версій або програмуванням
Для спеціалістів з ІТ
які мають знання в 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. Концепції та архітектура Git8 лекції ·
- Концепції
- Особливості дизайну
- Репозиторії
- Об’єкти та зміст (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: Gerrit3 лекції ·
Git – дуже потужний інструмент, і графічні інтерфейси, такі як GitHub, можуть бути дуже корисними, а ось складніші робочі процеси виграють від використання таких інструментів, як Gerrit. Саме про це ми зараз поговоримо.
- Види розподіленої розробки
- Gerrit
- Процес перегляду та оцінки змін
ВИКЛАДАЧ
Джеррі Куперштейн
Працює з Linux з 1994 року, розробляє та проводить тренінги як по ядру, так і по користувацькому середовищу. Протягом двадцятирічної кар'єри в ядерній астрофізиці він розробив найсучасніше програмне забезпечення для моделювання на багатьох видах суперкомп'ютерів і викладав як для студентів, так і для аспірантів. Джеррі приєднався до The Linux Foundation у 2009 році. Зараз він працює старшим контент-менеджером The Linux Foundation.
Git для розподіленої розробки програмного забезпечення
Реєструйся на безплатний курс і починай навчатися прямо зараз!
Записатись на курсІноземні автори
Навчання в будь-який час
Практика
Сертифікат по закінченню
Маєте питання?
Курс безкоштовний?
В який час будуть проходити заняття?
Чи зможу я отримати сертифікат по завершенню цього курсу?
Не знайшли відповідь?
Центр допомоги