Skip to content

Latest commit

 

History

History
189 lines (125 loc) · 9.48 KB

File metadata and controls

189 lines (125 loc) · 9.48 KB

Перед работой

Оформление задач

Каждый файл с решением задачи должен иметь имя 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

Отправка Pull request'а

Шаг 1. Установливаем и настраиваем Git

Прежде всего создаем аккаунт на Github.com

Далее скачиваем и устанавливаем git

Далее, необходимо сделать небольшую настройку Вашего Git, для того, чтобы при отправке коммитов, отображалось ваше корректное имя. Для это достаточно выполнить данные команды:

git config --global user.name "Ваше Имя"
git config --global user.email you@example.com

Шаг 2. Устанавливаем все необходимое ПО

Шаг 3. Создаём копию (Fork) репозитория проекта

Заходим на страницу репозитория 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

Шаг 4. Работаем с кодом

Начиная решать задачи, изначально надо создать соответствующую Git ветку, основанную на актуальном коде из базового репозитория.

Выбирайте чётко и лаконично имя ветки, которое отражало бы суть изменений. В данном случае в названии ветки хорошо включить номер задачи и вариант.

git fetch upstream
git checkout -b <ИМЯ-ВАШЕЙ-ВЕТКИ> upstream/master

Например при решени 12 варианта задачи 1 ветка может быть названа task_1_12.

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

После решения задачи подготавливаем измененные файлы к коммиту

git add <ИМЯ-ПОДГОТОВЛЕННОГО-ФАЙЛА>

После этого можно коммитить изменения

git commit -m "<КОММЕНТАРИЙ-К-КОММИТУ>"

Шаг 5. Отправляем Pull Request

Пока Вы работали над кодом, в основную ветку проекта могли быть внесены другие изменения. Поэтому перед отправкой ваших изменений Вам необходимо сделать 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 обязательно указывайте номер и вариант решенной задачи.

Шаг 6. Перерабатываем Pull Request

Если с вашим Pull Request всё хорошо, то в скором времени он будет смержен в основной репозиторий. Но может оказаться так, что вам будет необходимо внести какие-то изменения.

Для этого просто возвращаемся к шагу 4 и после внесения изменений и коммита выполняем похожие команды:

git checkout <ИМЯ-ВАШЕЙ-ВЕТКИ>
git fetch upstream
git rebase upstream/master
git push origin <ИМЯ-ВАШЕЙ-ВЕТКИ>

Шаг 9. Убираемся после себя

После того, как ваш Pull Request был принят или же отвергнут, Вам необходимо удалить ветку с Вашими изменениями. Делается это просто

git checkout master
git branch -D <ИМЯ-ВАШЕЙ-ВЕТКИ>
git push origin --delete <ИМЯ-ВАШЕЙ-ВЕТКИ>

Ссылки

Официальный сайт python

Официальный сайт git

Книга ProGit (ru)

Книги

  1. Марк Лутц. Изучаем Python, 4-е издание
  2. Марк Лутц. Программирование на Python. Том 1-2, 4-е издание
  3. Майкл Доусон. Программируем на Python, 2013