Цей репозиторій було створено для того, щоб студенти могли надсилати свої домашні завдання для перевірки.
Виконайте наведені нижче інструкції, щоб надіслати код на розгляд.
Зміст
- Огляд contribution flow
- Словарик
- Contribution stage A. Налаштування форку і локального клону
- Contribution stage B. Додавання нового коду та оновлення submissions
- FAQ
- Довідкові матеріали та усунення проблем
Тепер ви є учасником освітнього проекту з відкритим кодом.
Ці слайди візуалізують 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 | репозиторій, який містить код вашої програми |
Зробити це потрібно лише один раз.
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
- назва завдання)
ВАЖЛИВІ речі, про які слід завжди пам’ятати.
Не робіть коміти у
main
.
checkout main
перед створенням нової гілки, тобто не створюйте нову гілку, поки ви на будь-якій гілці яка неmain
.Не мержіть свої гілки в
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 із вашої нової гілки, просто зробіть це
- вам буде запропоновано PR шаблон повідомлення з інструкцією; прочитайте їх і заповніть, як це передбачено
- коли PR відкрито, перевірте Файли змінено, щоб побачити, що надсилається
Переконайтеся, що ваш PR не містить жодних непов’язаних файлів або комітів від будь-яких інших завдань, і жодні файли з інших ваших завдань або від інших авторів не видаляються
B125. Попросити рев'ю:
- опублікуйте посилання на свій PR у FE Questionarium chat і попросіть наставників і колег про перевірку коду
- відслідковувати запити на можливі зміни
Щоразу, коли ви хочете або вам буде запропоновано внести будь-які зміни, виконайте такі дії:
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
):
- що для вас було нового
- що вас здивувало
- що ви збираєтеся використовувати в майбутньому
Оновіть homeworks local clone та homeworks fork, щоб мати весь свій код
у main
:
git checkout main
git pull upstream main
git push origin main
Q1: Я зробив(ла) частину домашок в рамках попереднього курсу або р2р. Мені їх зарахують?
A1: Щоб це сталося, треба зробити наступне:
Для всіх PR, які не вмерджено - подай код на рев'ю, як описано в цьому документі.
Для PR, які було вмерджено в інших репо:
- Знайди всі вмерджені PR в інших репо, які треба зарахувати, і май лінки на них під рукою.
- Відкрий issue в цьому репо скориставшись шаблоном
- В студентському чаті закинь лінк на issue і попроси менторів врахувати вже раніше прийняті задачі.
- Ментори перевірять статус залінкованих PR і навісять відповідні лейбли.
- Через деякий час в статі цього репо з'являться відповідні записи.
- Contribution guide for beginners.
- Зверніться до цього посібнику з усунення проблем
щоразу, коли ви стикаєтеся з будь-якими конфліктами під час оновлення
main
з upstream (оригінальне репо) або маєте непов’язані файли чи коміти у своїх pull requests - Є проблеми? Запитайте у спільноти. У багатьох інших були подібні проблеми, спільнота допоможе вам