Skip to content

kottans/frontend-2022-homeworks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT Licensed Kottans-Frontend        Telegram

Frontend 2022 course homeworks

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

Виконайте наведені нижче інструкції, щоб надіслати код на розгляд.

Зміст

Огляд contribution flow

Тепер ви є учасником освітнього проекту з відкритим кодом.

Ці слайди візуалізують contribution workflow.

Наведені нижче інструкції проведуть вас через contribution workflow - так ви будете публікувати код своїх завдань.

Словарик

Термін Визначення
repo скорочення від "репозиторій"
homeworks main repo Kottans FE репозиторій домашніх завдань курсу: https://github.com/kottans/frontend-2022-homeworks
homeworks fork ваш власний форк головної репи домашніх завдань
homeworks local repo ваш локальний клон форку домашнього завдання
app програма (або веб-сторінка), яку ви розробляєте для виконання конкретного завдання в курсі
app repo репозиторій, який містить код вашої програми

Contribution stage A. Налаштування форку і локального клону

Зробити це потрібно лише один раз.

A1. Форкніть основне репо homeworks через веб-інтерфейс GitHub

A2. Клонуйте homeworks fork на вашій локальній машині:

  • git clone https://github.com/<your-username>/frontend-2022-homeworks.git

Перед будь-якими подальшими операціями переконайтеся, що ви перебуваєте в каталозі локального repo homeworks

A3. Додайте homeworks main repo як upstream:

  • git remote add upstream https://github.com/kottans/frontend-2022-homeworks.git

A4. У homeworks local repo додайте папку зі своїм іменем користувача github до каталогу submissions

Ви додаватимете код із кожного завдання (app) в його окремий каталог під ваш іменований каталог. Отже, структура файлу буде схожа на наступну (у цьому прикладі amashoshyna - це ім'я користувача, а js-dom - назва завдання)

File structure example

Contribution stage B. Додавання нового коду та оновлення submissions

B1. Відправка коду нового завдання (app).

ВАЖЛИВІ речі, про які слід завжди пам’ятати.

  1. Не робіть коміти у main.

  2. checkout main перед створенням нової гілки, тобто не створюйте нову гілку, поки ви на будь-якій гілці яка не main.

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

І не панікуйте, якщо під час переходу між гілками якийсь код зник. Він стане доступним для вас, коли ви повернетеся до певної гілки. Суть полягає в тому, щоб подавати завдання ізольовано одне від одного.

B11. Переконайтеся, що app, який ви розробляєте для виконання завдання:

(a) має власний спеціальний проект/репозиторій на GitHub (app repo)

(b) опубліковано на GitHub pages

B12. In your homeworks local repo do the following:

B121. Синхронізуйте main гілку вашого homeworks local repo та homeworks fork (origin) з гілкою main homeworks main repo (upstream):

  • git checkout main
  • git pull upstream main
  • git push origin main

На той момент у вас вже може бути код у іншій гілці завдань і може здатися, що його вже немає. Не хвилюйтеся, він все ще доступний на власній гілкці завдань. Немає необхідності об’єднувати цю гілку в main, і не мержіть його в main, оскільки це, швидше за все, призведе до конфліктів коду.

B122. Створіть спеціальну гілку для вашої нової кодової бази завдань (app), перебуваючи на main:

  • git checkout main
  • git branch <task-branch-name> (<task-branch-name> can be e.g. dom-api-task)

B123. Додайте необхідні файли:

  • git checkout <task-branch-name>
  • створіть каталог для бази коду вашого завдання (app) у розділі ./submissions/YOUR_USERNAME, щоб шлях до вашого завдання був – ./submissions/YOUR_USERNAME/TASK_NAME (перегляньте знімок екрана вище для прикладу структури, яку ви очікуєте)
  • копіювати файли з вашого app repo, ті і тільки ті, які потрібні для перевірки

ВАЖЛИВО! Додайте лише файли/код, необхідні для перевірки і написані вами, наприклад файли html, css, scss, js тощо. Зображення, значки, каталоги IDE, такі як .idea, .vscode тощо - не потрібні для перевірки коду. css-файли, які є результатом компіляції вашого scss, теж немає сенсу перевіряти, а отже і подавати на перевірку. Ніколи не використовуйте .git у своїх завданнях які надсилаєте. Скопіюйте потрібні файли по одному. Ніколи не копіюйте папки масово, оскільки це може спричинити за собою копіювання небажаних файлів і прихованих папок.

  • помістіть на стейдж файли за допомогою команди git add і закомітьте зміни

B124. Відкрийте Pull Request (PR):

  • запуште до homeworks fork: git push --set-upstream origin <task-branch-name>
  • зачекайте, доки операція push завершиться успішно
  • перейдіть до вашого homeworks fork на GitHub
  • GitHub запропонує відкрити Pull Request із вашої нової гілки, просто зробіть це

github-pr-opening

  • вам буде запропоновано PR шаблон повідомлення з інструкцією; прочитайте їх і заповніть, як це передбачено
  • коли PR відкрито, перевірте Файли змінено, щоб побачити, що надсилається

Переконайтеся, що ваш PR не містить жодних непов’язаних файлів або комітів від будь-яких інших завдань, і жодні файли з інших ваших завдань або від інших авторів не видаляються

B125. Попросити рев'ю:

  • опублікуйте посилання на свій PR у FE Questionarium chat і попросіть наставників і колег про перевірку коду
  • відслідковувати запити на можливі зміни

B2. Коли потрібні будь-які зміни

Щоразу, коли ви хочете або вам буде запропоновано внести будь-які зміни, виконайте такі дії:

B21. Оновіть свою програму (у відповідному app repo):

  • впровадити зміни
  • переконайтеся, що публікація вашої програми оновлена

B22. Оновіть свій PR - у вашому homeworks local repo:

  • git checkout <task-branch-name>
  • скопіюйте змінені файли (один за одним) у ваш каталог завдань із app repo
  • stage, commit і push

Ваш PR буде оновлено автоматично.

B23. Перевірте свій PR і повідомте ментора:

  • перейдіть до свого PR у homeworks main repo
  • перевірте надіслані файли в розділі Файли змінено; ви повинні побачити свої останні зміни у файлах
  • клацніть Re-request review у списку ваших PR-рев'юерів щоб привернути увагу наставників, щоб вони знали, що є нові зміни для перегляду

Коли ваш PR буде нарешті змержено, напишіть міркування про завдання і досвід код рев'ю до вашого щоденника студента (ваш repo kottans-frontend):

  • що для вас було нового
  • що вас здивувало
  • що ви збираєтеся використовувати в майбутньому

B3. Коли всі ваші PR нарешті будуть вмержені

Оновіть homeworks local clone та homeworks fork, щоб мати весь свій код у main:

  • git checkout main
  • git pull upstream main
  • git push origin main

FAQ

Q1: Я зробив(ла) частину домашок в рамках попереднього курсу або р2р. Мені їх зарахують?

A1: Щоб це сталося, треба зробити наступне:

Для всіх PR, які не вмерджено - подай код на рев'ю, як описано в цьому документі.

Для PR, які було вмерджено в інших репо:

  1. Знайди всі вмерджені PR в інших репо, які треба зарахувати, і май лінки на них під рукою.
  2. Відкрий issue в цьому репо скориставшись шаблоном
  3. В студентському чаті закинь лінк на issue і попроси менторів врахувати вже раніше прийняті задачі.
  4. Ментори перевірять статус залінкованих PR і навісять відповідні лейбли.
  5. Через деякий час в статі цього репо з'являться відповідні записи.

Довідкові матеріали та усунення проблем

  1. Contribution guide for beginners.
  2. Зверніться до цього посібнику з усунення проблем щоразу, коли ви стикаєтеся з будь-якими конфліктами під час оновлення main з upstream (оригінальне репо) або маєте непов’язані файли чи коміти у своїх pull requests
  3. Є проблеми? Запитайте у спільноти. У багатьох інших були подібні проблеми, спільнота допоможе вам