Освоить основные навыки работы с облачными и распределенными системами контроля версий, получить навыки работы с инструментальными средствами, обеспечивающими командную работу над разработкой ПО.
- Зарегистрироваться на сайте github.com
- Установить на компьютере программу Git
- Форкнуть данный репозиторий в свой аккаунт
- Склонировать созданный удаленный репозиторий в директорию ~/git/test
- На локальной машине пишем скрипт ~/git/test/backup.sh, с произвольным содержанием
- Фиксируем скрипт в репозитории (делаем коммит)
- Обновляем удаленный репозиторий репозиторий (делаем пуш)
- Через текстовый редактор добавить любую новую строку с комментарием
- Сделать коммит
- Вности синтаксическую ошибку в скрипт
- Сделать коммит ошибочного скрипта
- Откатываем до последней рабочей версии
- Просмотреть историю коммитов
- Добавить несколько коммитов произвольного содержимого
- Создать пулл реквест в данный репозиторий
- Зачем нужен облачный хостинг репозиториев?
Облачный хостинг репозиториев нужен для того, чтобы несколько человек могли удобно работать в общем репозитории.
- Какими основными функциями обладает сайт github.com?
Помимо основоного функционала git, сайт github.com позволяет делать форки (копирование чужодого репозитория к себе), пулл реквесты (запрос на внесение измененеий в чужой репозиторий из своей модифицированныной копии), при нахождении багов можно открыть тему с проблемой (issues), разграничить права досутпа и многое другое.
- Как организовать командную работу над открытым проектом?
В ветке main должена быть только рабочая версия проекта. Разработка должна вестись в нескольких ветках. Когда работа в какой-либо ветке заканчивается, тот, кто работал над ней, делает пулл реквест в ветку main. Далее происходит код ревью: назначется ревьюеер, который проверяет корретность кода, выявляет все ошибки. Когда все выявленные проблемы решены, код попадает в ветку main. Также в командной разработке обычно пользуются вопросами о проблеме (issues). Если в проекте есть проблема, открывается вопрос. На него ставят метки категорий (к какой части проекта относится вопрос). Далее вопрос рассматривается, и в случае выявления проблемы, она исправляется.
- Дополнительно оценивается, если студент продемонстрирует работу с ветками в процессе написания более-сложного программного проекта (не менее трех файлов, двух веток, десяти коммитов, как минимум одно объединение).
- Дополнительно оценивается демонстрация командной работы. Для этого нужно склонировать репозиторий другому члену команды и коммитить от своего имени. При отправке истории на удаленный сервер (push) на сайте будет отображаться общая история. При скачивании истории с сервера (pull) общая история будет отображаться на локальном компьютере.
- Настройте работу с git вашей интегрированной среды разработки по выбору. Для работы с python рекомендуется использовать PyCharm. Выполните задания лабораторной работы в IDE используя встроенные средства работы с системами контроля версий.