Задачи разбиваются на две категории:
practice– задания практики, частично разбираются на практикеhomework– задания ДЗ для самостоятельного решения
Дедлайны и прочая инфа как обычно будут в Telegram канале.
Убедительная просьба писать код самостоятельно! Вы можете решать сложные задания вместе и обсуждать решения друг с другом, но навык реализации своих идей в коде особо не разовьется от простого переписывания чужого кода.
Не редактируйте файлы в папке .github, а также файлы, заканчивающиеся на _test.py, если у вас есть желание получить
ненулевые баллы :)
Если у вас все еще есть проблемы с гитом, питоном или пайтестом, обратитесь к файлу SETUP.md.
Склонируйте этот репозиторий, если у него имя assignment-03-variety-ваш-никнейм.
Если у этого репозитория имя assignment-03-variety, вместо этого
- не клонируйте этот репозиторий (ну пожалуйста)
- не форкайте этот репозиторий
- вообще не трогайте этот репозиторий
Репозиторий assignment-03-variety – это общий репозиторий, в котором у всех есть права на чтение и нет прав на
запись. Это означает, что с ним вы можете делать git pull (загрузить себе новые изменения), но не можете
делать git push (отправить свои изменения на GitHub).
В этот раз вы будете активно пользоваться опцией git pull, если нам понадобится внести некоторые изменения во ВСЕ ваши
репозитории (например, залить домашку). Для этого надо настроить доступ к общему репозиторию на чтение. В папке проекта
выполните следующую команду:
git remote add upstream git@github.com:ITMO-PhysTech-2021/assignment-03-variety.gitТеперь у вас есть два удаленных репозитория, с которыми вы можете работать:
origin– ваш репозиторий, в который вы будете заружать свои решенияupstream– общий репозиторий, из которого можно выгружать изменения, предназначенные для всех
Чтобы синхронизировать историю коммитов, сразу после этого выполните
git pull upstream
git reset --hard upstream/main
git push --force origin mainВсе условия находятся в файлах _legend.md в соответствующих папках practice/TASKNAME или homework/TASKNAME.
Важно: перед тестированием любого задания подгрузите изменения из общего репозитория:
git pull upstream mainПерейдите на ветку practice!. Иначе ваши решения не будут автоматически тестироваться, и у вас есть шанс не
получить баллы.
git checkout -b practiceПротестировать задание можно запустив файл с тестами из PyCharm или запустив одну из следующих команд в терминале:
pytest practice/TASKNAME
python -m pytest practice/TASKNAMEСделав какое-то задание, выполните команды, чтобы добавить изменения в Git, собрать их в один коммит и отправить на GitHub:
git add practice/TASKNAME
git commit -m "practice TASKNAME finished"
git push origin practiceПосле того, как все задания практики сделаны, создайте Pull Request из ветки practice в ветку main и укажите своего
преподавателя в качестве Reviewer. Не надо делать Merge до того, как ваш код будет проверен преподавателем.
Pull Request можно сделать по ссылке, которая появляется, если вы делаете git push origin practice, либо в меню Pull
Requests на GitHub.