Якщо ви тільки починаєте створювати сайти самостійно і знайомитеся з кодом, можливо, ще не чули про GitHub. Але для подальшої роботи в команді розробників цей сервіс необхідний, і вміння працювати з ним є однією з головних вимог до програмісту при прийомі на роботу. Розглянемо докладніше, що це — GitHub, і як користуватися системою.
Для чого потрібен GitHub
GitHub також називають системою контролю версій. При роботі над проектом, навіть якщо програміст працює один, йому доводиться зберігати проект після внесення змін на комп’ютері. З часом змін стає все більше, файли множаться, і розібратися коли і які зміни було внесено на тому чи іншому етапі, стає дуже складно. Особливо якщо папки з проектами названі як “site1”, “site2” і так далі, що часто буває у недосвідчених програмістів.
Особливості процесу ведення проекту
Ще складніше стає, коли два програмісти починають працювати над одним проектом. Обидва розробника вносять зміни в один і той же проект, що може остаточно заплутати їх. При виникненні помилки буде складно знайти попередню версію. Інша проблема — це процес обміну даними та інформацією про внесені зміни. Проекти можна посилати один одному поштою або іншим способом, але це не дуже зручно і також ускладнює їх ведення. Коли розробники щось створюють, вони постійно змінюють код, випускаючи нові версії до і після першого офіційного релізу. Саме тому і виник GitHub. Він застосовувався для спільного використання, публікації коду та внесення змін до нього, а потім перетворився в соціальну мережу для програмістів. Але спочатку з’явився Git. Проект розвивався завдяки творцеві Linux — Лінусу Торвальдсу. Для того щоб зрозуміти веб-сервіс GitHub, спочатку треба мати уявлення про те, що таке Git.
Історія виникнення системи GitHub
Git — це система управління версіями з відкритим вихідним кодом, яка була запущена Лінусом Торвальдсом. До неї існували інші системи, але вони не були настільки зручними, як Git. Отже, GitHub — що це за система? Як і деякі інші сервіси для управління проектами, вона керує їхніми версіями і зберігає їх. Кожен розробник може побачити нові зміни в коді, внесені іншим розробником, завантажити оновлену версію і внести в неї свій внесок.
Доступні типи файлів для системи керування версіями
Існують сервіси, схожі на GitHub, але розмір співтовариства програмістів, що використовують саме цю систему, має величезне значення для тих, хто хоче показати свій проект як можна більшій кількості людей. Станом на 2018 рік GitHub повідомив, що має понад 28 мільйонів користувачів, що значно більше, ніж у його конкурентів. GitHub може використовуватися для управління будь-яким типом файлів, навіть документом у форматі Word. Але найчастіше застосовується для зберігання і публікації програмного коду. Деякі з попередників GitHub використовували так званий центральний репозиторій для всіх файлів, пов’язаних з певним проектом. Для того щоб зрозуміти, що це за програма — GitHub, важливо розібратися з цим поняттям.
Репозиторії в GitHub
Системи керування версіями підтримують зміни в коді прямо, зберігаючи їх в центральному сховищі. Це дозволяє розробникам легко співпрацювати, оскільки вони можуть завантажувати нову версію програмного забезпечення, вносити зміни і завантажувати новітню версію в режимі реального часу. З розподіленими системами керування версіями, такими як Git, якщо розробник хоче внести зміни в проект, то копіює весь репозиторій в свою власну систему. Після того як вносяться зміни в локальну копію, потрібно провести спеціальну операцію, щоб повернути зміни на центральний сервер системи. Всі ці дії виконуються за допомогою командного рядка.
Відмінності Git і GitHub
Отже, що таке GitHub? Це служба розміщення сховища Git, яка володіє безліччю власних функцій. У той час як Git є інструментом командного рядка, GitHub надає собою графічний веб-інтерфейс. Кожен проект має свій власний репозиторій, і отримати до нього доступ за допомогою унікального URL. GitHub також забезпечує контроль доступу і має декілька функцій для спільної роботи, у тому числі основні інструменти управління завданнями для кожного проекту. Остаточно розібратися, що це за програма — GitHub, чи потрібна вона, допоможуть знання про основні функції системи. Їх всього три — це fork, pull request і merge.
Що таке fork в GitHub
Розглянемо основний функціонал системи, що відрізняє її від конкурентів. Краще зрозуміти, що це — GitHub і чим він відрізняється від інших систем, допоможуть знання про особливої функції – “роздвоєння” репозиторію, а точніше, його копіювання з одного облікового запису на інший. Вона також називається fork. Це дивовижна особливість, яка стимулює подальший розвиток програм та інших проектів. Вона дозволяє розробнику взяти проект, до якого немає доступу для внесення змін, і змінити його під своїм обліковим записом.
Функції pull request в GitHub
Якщо в проекті з’являться зміни, якими програміст захоче поділитися, він може відправити повідомлення, зване pull request, первісному власнику. Потім користувач може одним натисненням кнопки об’єднати знайдені в репозиторії зміни з вихідним кодом. Процес об’єднання двох версій проекту називається merge”. Всякий раз, коли відбувається pull request, GitHub створює ідеальне середовище між розробником і автором основного проекту для спілкування.
Використання системи в якості портфоліо
Перш ніж використовувати GitHub для зміни чужого проекту з відкритим кодом, програмісту потрібно вручну завантажити вихідний код, внести зміни локально, створити список змін, який називається patch, і потім відправити його авторові проекту. Потім автор повинен оцінити запропоновані зміни і вирішити, чи слід об’єднати їх з проектом. Тут включається ефект соціальної мережі, так як при відправці запиту автор проекту може бачити профіль програміста на GitHub, де будуть знаходитися його попередні роботи. Але також система дозволяє формувати репутацію.
Система репутації у GitHub
Якщо зміни прийняті в профілі з’являються спеціальні позначки. Тому ще одна відповідь на питання, що це — GitHub, наступний: – портфоліо або резюме, яке допомагає авторам інших проектів визначити репутацію нового розробника і, можливо, прийняти рішення про його зарахування в штат. Чим більше людей і проектів на GitHub, тим ясніше уявлення про те, що автори проекту можуть отримати від потенційних учасників. Самі зміни також можна обговорювати публічно. До того ж користуватися GitHub просто і дуже зручно, завдяки продуманому графічного інтерфейсу. Тепер не потрібно використовувати командний рядок, так як для будь-якого дії достатньо просто натиснути на кнопку. Користуватися системою може кожен, що допомагає рости молодим проектів і полегшує пошук роботи і створення портфоліо початківцям.