You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/uk/1-getting-started-lessons/2-github-basics/README.md

28 KiB

Вступ до GitHub

Цей урок охоплює основи GitHub — платформи для хостингу та управління змінами у вашому коді.

Intro to GitHub

Скетчноут від Tomomi Imura

Передлекційна вікторина

Передлекційна вікторина

Вступ

У цьому уроці ми розглянемо:

  • як відстежувати роботу, яку ви виконуєте на своєму комп'ютері
  • як працювати над проєктами разом з іншими
  • як робити внески у програмне забезпечення з відкритим кодом

Попередні вимоги

Перед початком перевірте, чи встановлений у вас Git. У терміналі введіть:
git --version

Якщо Git не встановлений, завантажте Git. Потім налаштуйте свій локальний профіль Git у терміналі:

  • git config --global user.name "your-name"
  • git config --global user.email "your-email"

Щоб перевірити, чи вже налаштований Git, введіть: git config --list

Вам також знадобиться обліковий запис GitHub, редактор коду (наприклад, Visual Studio Code) і доступ до терміналу (або командного рядка).

Перейдіть на github.com і створіть обліковий запис, якщо у вас його ще немає, або увійдіть і заповніть свій профіль.

GitHub — це не єдиний репозиторій коду у світі; є й інші, але GitHub є найвідомішим.

Підготовка

Вам знадобиться папка з проєктом коду на вашому локальному комп'ютері (ноутбуці або ПК) і публічний репозиторій на GitHub, який слугуватиме прикладом того, як робити внески в проєкти інших.


Управління кодом

Припустимо, у вас є локальна папка з якимось проєктом коду, і ви хочете почати відстежувати свій прогрес за допомогою git — системи контролю версій. Деякі люди порівнюють використання git із написанням любовного листа до свого майбутнього "я". Читаючи свої повідомлення про коміти через дні, тижні чи місяці, ви зможете згадати, чому прийняли те чи інше рішення, або "відкотити" зміни — за умови, що ви пишете хороші повідомлення про коміти.

Завдання: Створіть репозиторій і зафіксуйте код

Перегляньте відео

Відео про основи Git і GitHub

  1. Створіть репозиторій на GitHub. На GitHub.com, у вкладці репозиторіїв або у верхньому правому куті навігаційної панелі, знайдіть кнопку new repo.

    1. Дайте вашому репозиторію (папці) назву.
    2. Натисніть create repository.
  2. Перейдіть до вашої робочої папки. У терміналі перейдіть до папки (також відомої як директорія), яку ви хочете почати відстежувати. Введіть:

    cd [name of your folder]
    
  3. Ініціалізуйте git-репозиторій. У вашому проєкті введіть:

    git init
    
  4. Перевірте статус. Щоб перевірити статус вашого репозиторію, введіть:

    git status
    

    Вивід може виглядати приблизно так:

    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    
         modified:   file.txt
         modified:   file2.txt
    

    Зазвичай команда git status повідомляє вам, які файли готові до збереження у репозиторії або мають зміни, які ви, можливо, хочете зафіксувати.

  5. Додайте всі файли для відстеження
    Це також називається підготовкою файлів/додаванням файлів до області підготовки.

    git add .
    

    Аргумент git add плюс . вказує, що всі ваші файли та зміни будуть відстежуватися.

  6. Додайте вибрані файли для відстеження

    git add [file or folder name]
    

    Це дозволяє додати лише вибрані файли до області підготовки, якщо ви не хочете комітити всі файли одразу.

  7. Зніміть підготовку з усіх файлів

    git reset
    

    Ця команда дозволяє зняти підготовку з усіх файлів одразу.

  8. Зніміть підготовку з конкретного файлу

    git reset [file or folder name]
    

    Ця команда дозволяє зняти підготовку лише з конкретного файлу, який ви не хочете включати до наступного коміту.

  9. Збережіть свою роботу. На цьому етапі ви додали файли до так званої області підготовки. Це місце, де Git відстежує ваші файли. Щоб зробити зміни постійними, вам потрібно зафіксувати файли. Для цього створіть коміт за допомогою команди git commit. Коміт представляє точку збереження в історії вашого репозиторію. Введіть наступне, щоб створити коміт:

    git commit -m "first commit"
    

    Ця команда фіксує всі ваші файли, додаючи повідомлення "first commit". Для майбутніх повідомлень про коміти варто бути більш описовими, щоб передати, які саме зміни ви зробили.

  10. Підключіть ваш локальний репозиторій Git до GitHub. Репозиторій Git корисний на вашому комп'ютері, але в якийсь момент ви захочете створити резервну копію своїх файлів десь і запросити інших людей працювати з вами над вашим репозиторієм. Одне з чудових місць для цього — GitHub. Пам'ятайте, що ми вже створили репозиторій на GitHub, тому єдине, що потрібно зробити, це підключити ваш локальний репозиторій Git до GitHub. Команда git remote add зробить це. Введіть наступну команду:

    Зверніть увагу, перед тим як вводити команду, перейдіть на сторінку вашого репозиторію на GitHub, щоб знайти URL репозиторію. Ви використаєте його в команді нижче. Замініть https://github.com/username/repository_name.git на ваш URL GitHub.

    git remote add origin https://github.com/username/repository_name.git
    

    Це створює віддалене підключення (remote), назване "origin", яке вказує на репозиторій GitHub, створений раніше.

  11. Відправте локальні файли на GitHub. До цього моменту ви створили підключення між локальним репозиторієм і репозиторієм GitHub. Відправимо ці файли на GitHub за допомогою команди git push, ось так:

    Зверніть увагу, ваша назва гілки за замовчуванням може відрізнятися від main.

    git push -u origin main
    

    Це відправляє ваші коміти у гілку "main" на GitHub.

  12. Щоб додати більше змін. Якщо ви хочете продовжити вносити зміни та відправляти їх на GitHub, вам потрібно буде використовувати наступні три команди:

    git add .
    git commit -m "type your commit message here"
    git push
    

    Порада: Можливо, ви також захочете додати файл .gitignore, щоб запобігти відстеженню файлів, які ви не хочете бачити на GitHub — наприклад, файлу з нотатками, який ви зберігаєте в тій самій папці, але який не має бути у публічному репозиторії. Ви можете знайти шаблони для файлів .gitignore на сторінці .gitignore templates.

Повідомлення про коміти

Чудовий заголовок повідомлення про коміт завершує наступне речення:
Якщо застосувати, цей коміт <ваш заголовок тут>.

Для заголовка використовуйте наказовий теперішній час: "змінити", а не "змінив" чи "зміни".
Як і в заголовку, у тілі (необов'язково) також використовуйте наказовий теперішній час. Тіло має включати мотивацію для зміни та порівняння з попередньою поведінкою. Ви пояснюєте чому, а не як.

Приділіть кілька хвилин, щоб переглянути GitHub. Чи можете ви знайти справді чудове повідомлення про коміт? А мінімальне? Яка інформація, на вашу думку, є найважливішою та найкориснішою для передачі у повідомленні про коміт?

Завдання: Співпраця

Основна причина розміщення проєктів на GitHub — це можливість співпрацювати з іншими розробниками.

Робота над проєктами з іншими

Перегляньте відео

Відео про основи Git і GitHub

У вашому репозиторії перейдіть до Insights > Community, щоб побачити, як ваш проєкт відповідає рекомендованим стандартам спільноти.

Ось кілька речей, які можуть покращити ваш репозиторій на GitHub:

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

Файли README, хоча їх підготовка займає час, часто ігноруються зайнятими підтримувачами. Чи можете ви знайти приклад особливо описового README? Примітка: існують інструменти для створення хороших README, які вам можуть сподобатися.

Завдання: Об'єднайте код

Документація для внесків допомагає людям робити внески у проєкт. Вона пояснює, які типи внесків ви шукаєте і як працює процес. Учасники повинні пройти серію кроків, щоб мати змогу зробити внесок у ваш репозиторій на GitHub:

  1. Форк вашого репозиторію. Ви, ймовірно, захочете, щоб люди форкали ваш проєкт. Форк означає створення копії вашого репозиторію у їхньому профілі GitHub.
  2. Клонування. Після цього вони клонують проєкт на свій локальний комп'ютер.
  3. Створення гілки. Ви захочете попросити їх створити гілку для своєї роботи.
  4. Фокусування змін на одній області. Попросіть учасників зосередити свої внески на чомусь одному за раз — таким чином шанси, що ви зможете об'єднати їхню роботу, будуть вищими. Уявіть, що вони виправляють помилку, додають нову функцію та оновлюють кілька тестів — що, якщо ви хочете або можете реалізувати лише 2 із 3, або 1 із 3 змін?

Уявіть ситуацію, коли гілки є особливо важливими для написання та випуску хорошого коду. Які випадки використання ви можете придумати?

Примітка: будьте зміною, яку хочете бачити у світі, і створюйте гілки для своєї роботи також. Усі коміти, які ви робите, будуть зроблені у гілці, до якої ви зараз "перемкнуті". Використовуйте git status, щоб побачити, у якій гілці ви перебуваєте.

Давайте розглянемо робочий процес учасника. Припустимо, учасник вже форкнув і клонував репозиторій, тому у нього є готовий Git-репозиторій на локальному комп'ютері:

  1. Створіть гілку. Використовуйте команду git branch, щоб створити гілку, яка міститиме зміни, які вони планують внести:

    git branch [branch-name]
    
  2. Перемкніться на робочу гілку. Перемкніться на вказану гілку та оновіть робочу директорію за допомогою git switch:

    git switch [branch-name]
    
  3. Виконайте роботу. На цьому етапі ви хочете додати свої зміни. Не забудьте повідомити про це Git за допомогою наступних команд:

    git add .
    git commit -m "my changes"
    

    Переконайтеся, що ви дали своєму коміту гарну назву — для себе, а також для підтримувача репозиторію, якому ви допомагаєте.

  4. Об'єднайте свою роботу з гілкою main. У якийсь момент ви закінчите роботу і захочете об'єднати її з гілкою main. Гілка main могла змінитися за цей час, тому переконайтеся, що ви спочатку оновили її до останньої версії за допомогою наступних команд:

    git switch main
    git pull
    

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

    git switch [branch_name]
    git merge main
    

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

  5. Відправте свою роботу на GitHub. Відправка вашої роботи на GitHub означає дві речі: відправку вашої гілки у ваш репозиторій і відкриття PR (Pull Request).

    git push --set-upstream origin [branch-name]
    

    Наведена вище команда створює гілку у вашому форкнутому репозиторії.

  6. Відкрийте PR. Далі ви хочете відкрити PR. Ви робите це, перейшовши до форкнутого репозиторію на GitHub. Ви побачите індикацію на GitHub, де вас запитають, чи хочете ви створити новий PR. Натисніть це, і ви потрапите в інтерфейс, де зможете змінити заголовок повідомлення коміту, дати йому більш відповідний опис. Тепер підтримувач репозиторію, який ви форкнули, побачить цей PR і, сподіваємося, оцінить і об'єднає ваш PR. Ви тепер учасник, ура :)

  7. Очистіть. Вважається гарною практикою очистити після успішного об'єднання PR. Ви хочете очистити як локальну гілку, так і гілку, яку ви відправили на GitHub. Спочатку видаліть її локально за допомогою наступної команди:

    git branch -d [branch-name]
    

    Переконайтеся, що ви перейшли на сторінку GitHub для форкнут Pull request здається трохи дивним терміном, адже насправді ви хочете "запушити" свої зміни до проєкту. Але власник проєкту або основна команда повинні розглянути ваші зміни перед тим, як об'єднати їх із "головною" гілкою проєкту, тому ви фактично запитуєте рішення про внесення змін у власника.

Pull request — це місце для порівняння та обговорення відмінностей, внесених у гілку, з рецензіями, коментарями, інтегрованими тестами тощо. Хороший pull request дотримується приблизно тих самих правил, що й повідомлення про коміт. Ви можете додати посилання на проблему в трекері проблем, якщо ваша робота, наприклад, виправляє цю проблему. Це робиться за допомогою символу #, за яким слідує номер вашої проблеми. Наприклад, #97.

🤞Тримаємо кулаки, щоб усі перевірки пройшли успішно, і власник(и) проєкту об'єднали ваші зміни з проєктом🤞

Оновіть вашу поточну локальну робочу гілку всіма новими комітами з відповідної віддаленої гілки на GitHub:

git pull

Як зробити внесок у проєкти з відкритим кодом

Спочатку знайдіть репозиторій (або репо) на GitHub, який вас цікавить і до якого ви хочете внести зміни. Вам потрібно буде скопіювати його вміст на свій комп'ютер.

Хороший спосіб знайти репозиторії для початківців — це шукати за тегом 'good-first-issue'.

Скопіюйте репозиторій локально

Є кілька способів скопіювати код. Один із них — "клонувати" вміст репозиторію, використовуючи HTTPS, SSH або GitHub CLI (інтерфейс командного рядка).

Відкрийте термінал і клонуйте репозиторій таким чином: git clone https://github.com/ProjectURL

Щоб працювати над проєктом, перейдіть до потрібної папки: cd ProjectURL

Ви також можете відкрити весь проєкт за допомогою Codespaces, вбудованого редактора коду / хмарного середовища розробки від GitHub, або GitHub Desktop.

Нарешті, ви можете завантажити код у вигляді архіву.

Кілька цікавих фактів про GitHub

Ви можете додати зірочку, спостерігати або "форкнути" будь-який публічний репозиторій на GitHub. Ваші зіркові репозиторії можна знайти у випадаючому меню у верхньому правому куті. Це як закладки, але для коду.

У проєктах є трекер проблем, зазвичай на GitHub у вкладці "Issues", якщо не вказано інше, де люди обговорюють проблеми, пов'язані з проєктом. А вкладка Pull Requests — це місце, де обговорюють і переглядають зміни, які перебувають у процесі.

У проєктах також можуть бути обговорення на форумах, у списках розсилки або в чатах, таких як Slack, Discord чи IRC.

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


🚀 Виклик

Попрацюйте в парі з другом над кодом один одного. Створіть спільний проєкт, форкніть код, створіть гілки та об'єднайте зміни.

Післялекційний тест

Післялекційний тест

Огляд і самостійне навчання

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

Шпаргалка з Git.

Практикуйтеся, практикуйтеся, практикуйтеся. GitHub пропонує чудові навчальні шляхи через skills.github.com:

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

Завдання

Пройдіть курс "Перший тиждень на GitHub"


Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильне тлумачення, що виникають внаслідок використання цього перекладу.