Каждый файл с решением задачи должен иметь имя task_N_V.py и начинаться с преамбулы:
# Задача N. Вариант V.
# Текст задачи
# F I.O.
# DATE_LAST_UPDATE
Здесь и далее:
N - номер задачи,
V - номер варианта,
F I.O. - транслитерация фамилии и инициалов автора решения в виде Ivanov I. I,
DATE_LAST_UPDATE - дата последнего изменения файла.
Пример:
# Задача 1. Вариант 0.
# Напишите программу, которая будет сообщать род деятельности и псевдоним под которым скрывается Эдсон Арантис ду Насименту. После вывода информации программа должна дожидаться пока пользователь нажмет Enter для выхода.
# Krasnikov A. S.
# 01.02.2016
Все решения должны быть отправлены в виде Pull request'а на Github в специально созданный репозиторий https://github.com/fitifit/pythonintask
Каждый студент сохраняет свои работы в директории SPECIALITY/YEAR/FIO, где SPECIALITY - направление подготовки (см. ниже), YEAR - год поступления в университет, FIO. - транслитерация фамилии и инициалов автора решения в виде IVANOV_I_I.
Пример: BIZa/2014/IVANOV_I_I
| Направление подготовки | Название директории |
|---|---|
| Безопасность информационных технологий в правоохранительной сфере | BIT |
| Бизнес-информатика (академический бакалавр) | BIZa |
| Информатика и вычислительная техника (академический бакалавр) | IVTa |
| Информатика и вычислительная техника (прикладной бакалавр) | IVTp |
| Информационная безопасность (академический бакалавр) | INBa |
| Информационные системы и технологии (прикладной бакалавр) | ISTp |
| Педагогическое образование (прикладной бакалавр) (профиль: "Информатика") | POIp |
| Прикладная математика и информатика (академический бакалавр) | PMIa |
| Программная инженерия (прикладной бакалавр) | PINp |
Прежде всего создаем аккаунт на Github.com
Далее скачиваем и устанавливаем git
Далее, необходимо сделать небольшую настройку Вашего Git, для того, чтобы при отправке коммитов, отображалось ваше корректное имя. Для это достаточно выполнить данные команды:
git config --global user.name "Ваше Имя"
git config --global user.email you@example.com
Заходим на страницу репозитория https://github.com/fitifit/pythonintask и нажимаем кнопку «Fork». Данная команда создаст Вашу собственную копию репозитория данного проекта.
Далее вам необходимо склонировать вашу копию репозитория.
Для этого выполните команду
git clone https://github.com/<Ваше-GitHub-имя>/pythonintask.git
После этого в директории, в которой вы находитесь будет создана поддиректория pythonintask. В эту директорию будет скопировано все содержимое репозитория с сервера.
Далее вам необходимо добавить ветку upstream для проекта, которая будет ссылаться на базовый репозиторий
cd pythonintask
git remote add upstream https://github.com/fitifit/pythonintask.git
Начиная решать задачи, изначально надо создать соответствующую Git ветку, основанную на актуальном коде из базового репозитория.
Выбирайте чётко и лаконично имя ветки, которое отражало бы суть изменений. В данном случае в названии ветки хорошо включить номер задачи и вариант.
git fetch upstream
git checkout -b <ИМЯ-ВАШЕЙ-ВЕТКИ> upstream/master
Например при решени 12 варианта задачи 1 ветка может быть названа task_1_12.
Теперь вы можете смело приступать к работе над задачей.
После решения задачи подготавливаем измененные файлы к коммиту
git add <ИМЯ-ПОДГОТОВЛЕННОГО-ФАЙЛА>
После этого можно коммитить изменения
git commit -m "<КОММЕНТАРИЙ-К-КОММИТУ>"
Пока Вы работали над кодом, в основную ветку проекта могли быть внесены другие изменения. Поэтому перед отправкой ваших изменений Вам необходимо сделать rebase Вашей ветки. Делается это так:
git checkout <ИМЯ-ВАШЕЙ-ВЕТКИ>
git fetch upstream
git rebase upstream/master
Теперь вы можете отправить Ваши изменения.
git push origin <ИМЯ-ВАШЕЙ-ВЕТКИ>
После этого заходим в ваш репозиторий-клон проекта, в котором вы участвуете и нажимаем кнопку «New Pull Request».
В появившейся форме слева необходимо выбрать ветку, в которую Вы хотите смержить изменения (обычно это master, ну а вообще это ветка, на которую вы делали rebase).
Справа — ветку с вашими изменениями. Далее вы увидите сообщение от GitHub о том, возможно ли автоматически смержить изменения или нет. В большинстве случаев, вы увидите Able to merge. Если же есть конфликты, вам скорее всего придётся пересмотреть ваши изменения.
Далее нажимаем кнопку — Create Pull Request. При заполнении имени и описания вашего Pull Request обязательно указывайте номер и вариант решенной задачи.
Если с вашим Pull Request всё хорошо, то в скором времени он будет смержен в основной репозиторий. Но может оказаться так, что вам будет необходимо внести какие-то изменения.
Для этого просто возвращаемся к шагу 4 и после внесения изменений и коммита выполняем похожие команды:
git checkout <ИМЯ-ВАШЕЙ-ВЕТКИ>
git fetch upstream
git rebase upstream/master
git push origin <ИМЯ-ВАШЕЙ-ВЕТКИ>
После того, как ваш Pull Request был принят или же отвергнут, Вам необходимо удалить ветку с Вашими изменениями. Делается это просто
git checkout master
git branch -D <ИМЯ-ВАШЕЙ-ВЕТКИ>
git push origin --delete <ИМЯ-ВАШЕЙ-ВЕТКИ>
- Марк Лутц. Изучаем Python, 4-е издание
- Марк Лутц. Программирование на Python. Том 1-2, 4-е издание
- Майкл Доусон. Программируем на Python, 2013