Що таке Git та як він працює
Git - система, яка допомагає команді відстежувати зміни в проекті, зберігати всі версії файлів та працювати командою разом над кодом.
Для проектного менеджера-початківця розуміння базових принципів Git - це можливість ефективніше співпрацювати з технічною командою, а також краще контролювати процес розробки.
Якщо простими словами, то: уявіть що ваш проект це книга. Ви можете писати нові розділи, редагувати існуючі та зберігати різні версії розділів, щоб при потребі до них повернутися. Git працює подібно, але з кодом.
Git дозволяє:
1) Зберігати історію всіх змін
Ви щодня працюєте над своєю кулінарною книгою, додаючи нові рецепти. Кожного разу, коли ви зберігаєте чергову версію книги, у вас залишається копія попередніх версій. Ви завжди можете повернутися до тієї версії, яка вам потрібна, наприклад, якщо новий рецепт виявився невдалим.
2) Працювати над різними частинами проекту одночасно.
У вашій команді працюють кілька авторів. Один з них пише розділ про десерти, інший — про супи, а третій — про напої. Кожен автор може працювати над своєю частиною книги, не заважаючи іншим. У результаті всі розділи збираються в одну книгу, і кожен залишається задоволений.
3) Об'єднувати роботу кількох людей в єдине ціле.
Наприкінці всі автори збираються разом, щоб об'єднати свої розділи в одну кулінарну книгу. Десерти, супи та напої стають частиною єдиного твору, який готовий до публікації.
Основні терміни Git
Ці терміни менеджер точно буде чути від своєї технічної команди, тому краще їх знати.
- Репозиторій (Repository) - це місце, де зберігається весь код проекту разом з історією змін.
Репозиторій можна уявити як папку з вашою книгою, де є всі її попередні версії.
- Комміт (Commit) - це збереження змін у проекті.
Кожен комміт це як опис змін, наприклад: “Виправлено помилку в розділі 2”.
- Гілка (Branch) - це окрема лінія розробки, яка дозволяє працювати над новими фічами (функціями), не впливаючи на основну версію проекту. Гілки допомагають розробникам експериментувати, не ризикуючи зламати основний код.
Ви створюєте копію своєї книги, щоб спробувати написати нову версію одного з розділів. Якщо ваша ідея спрацює, ви зможете включити її в основний текст.
- Злиття (Merge) - означає, що коли робота в гілці завершена, її об'єднують з основною версією проекту.
Це як включити новий розділ у фінальну версію книги. Процес злиття дозволяє зберегти найкращі ідеї кожного учасника команди.
Що таке Git Flow
Git Flow - це модель організації роботи в Git, яка дозволяє структурувати процес розробки за допомогою чітко визначених гілок. Основна ідея Git Flow полягає в тому, щоб використовувати різні типи гілок для різних етапів та задач проекту.
Основні гілки в Git Flow:
- Main (Master) - основна стабільна версія проекту.
- Develop - гілка для поточної розробки.
- Feature - гілки для окремих нових функцій.
- Hotfix - гілки для термінового виправлення помилок.
Повернемося до нашої кулінарної книги:
У вас є стабільна версія книги, яка готова до друку - це гілка Main (Master). Водночас команда авторів готує нові розділи та доповнення до книги у гілці Develop. Кожен новий розділ (наприклад, "десерти" або "основні страви") створюється в окремій гілці Feature, де його можна вдосконалювати, не впливаючи на решту книги. Якщо ви помітили, що в готовій до друку версії є термінова помилка, наприклад, у рецепті торта, ви створюєте гілку Hotfix, щоб швидко виправити цю помилку й повернути стабільну версію книги до друку.
Git Flow дозволяє організувати роботу так, щоб команда могла легко відстежувати зміни, тестувати нові функції та підтримувати стабільність основної версії проекту, аналогічно тому, як ви підтримуєте якість і цілісність вашої кулінарної книги.
Для чого це потрібно проектному менеджеру
Навіть якщо ви не пишете код, Git може стати для вас важливим інструментом. А саме:
1) Відстеження прогресу команди. Ви можете переглядати, які зміни були зроблені, хто їх вносив і коли.
Наприклад, ви можете побачити, що один із розробників завершив роботу над своїм завданням, це дозволяє вам планувати його подальші кроки, визначати наступні завдання.
2) Розуміння процесу розробки. Знання основ Git допоможе краще розуміти, як працює ваша команда розробників. Ви зможете оцінити, на якому етапі знаходиться кожна з функцій проекту.
А розуміння термінів, як-от "гілка" чи "злиття", дає змогу краще орієнтуватися у внутрішніх процесах розробки.
3) Ефективне спілкування. Використовуючи термінологію Git , ви зможете будувати більш продуктивний діалог з розробниками. Це дозволить уникнути непорозумінь та сприятиме ефективній співпраці.
Ви зможете більш точно формулювати свої запити, наприклад: "Будь ласка, створіть окрему гілку для цієї функції" або "Чи можете перевірити конфлікти перед злиттям?".
4) Прозорість роботи. Git забезпечує прозорість процесу, дозволяючи вам і вашим стейкхолдерам відстежувати прогрес у реальному часі. Наприклад, під час презентації клієнтам ви можете показати, які функції вже готові до релізу.
Git - це не просто технічний інструмент, а важливий елемент успішної роботи команди. Хоча він може здатися складним для нетехнічних спеціалістів, але розуміння основних принципів його роботи допоможе вам ефективніше взаємодіяти з командою розробки та краще розуміти процес створення продукту.
Більше технічних статтей:
- Що таке API простими словами. Посібник для нетехнічних спеціалістів
- Cередовища розробки програмного забезпечення: Від кодування до релізу
- За лаштунками веб-розробки: просто про фронт-енд (гайд для нетехнічних спеціалістів)
- Тестування ПЗ: Все, що ви хотіли знати, але боялися запитати
- Домен, хостинг та DNS що це і навіщо потрібно? Простими словами для нетехнічних спеціалістів
Ще немає коментарів