Для сдачи задания нужно создать Pull Request с решением в upstream-репозиторий.
Задание будет считаться сданным, если ваш Pull Request будет одобрен.
Время сдачи -- время слияния.
Все задачи предполагают использование классов и небольшую демонстрацию с примерами их использования.
Всего на семестр у вас будет 6 задач.
Задача | Число классов | Время на решение (в неделях) |
---|---|---|
1, 2 | 1 | 1 |
3, 4 | 1+ | 2 |
5 | 2+ | 3 |
6 | UI, 2+ | 4 |
Распределение задач можно найти здесь: таблица
Постановки заданий: задачи
- Нужно установить клиент Git
- Настроить пользователя для работы с репозиториями
git config --global user.name "name" git config --global user.email "[email protected]"
- Создать аккаунт на GitHub
- Открыть этот репозиторий
- Сделать fork этого репозитория (upstream-репозиторий) к себе. В результате в списке ваших репозиториев появится копия данного (origin-репозиторий).
- Клонировать origin-репозиторий на компьютер можно следующей командой:
Ссылку можно найти под кнопкой Clone.
git clone https://github.com/YourName/Programming_practice_381908-1-2.git
- Перейти в директорию для дальнейшей работы
cd Programming_practice_381908-1-2/
Отлично, теперь у вас на компьютере будет локальная копия данного репозитория. В ней вы можете вести работу.
По умолчанию вы находитесь в ветке master. Но полезно под решаемую задачу создавать свою ветку, которую уже можно будет слить с master. Рассмотрим некоторые команды для работы с ветками.
- Посмотреть на доступные ветки
git branch -v
- Создать новую ветку
git branch имя_ветки
- Создать новую ветку и перейти в неё
git checkout -b имя_ветки
- Сменить ветку
git checkout имя_ветки
-
Получить текущие изменения по сравнению с прошлым коммитом
git status
-
Добавить новые файлы в коммит Вы увидели в консоли список файлов и решили часть из них добавить в будущий коммит. Это делается командой:
git add файл.txt
Можно добавить все новые файлы, кроме указанных в .gitignore.
git add *
Использовать этот трюк стоит аккуратно, дабы не заполнить репозиторий лишними файлами.
-
Добавление нового коммита локально Теперь у нас есть файлы, которые мы хотим добавить в новый коммит. Можем проверить это командой
git status
. Создадим локальный коммит.git commit -m "Краткое описание изменений"
Если вы не укажите через -m описание изменений, то Git попросит их написать в Vim.
-
Отправка изменений в origin-репозиторий Вы сохранили свои изменения только локально, если зайти в репозиторий на сайте, то их там не будет. Нужно его обновить.
git push origin HEAD
Git попросит вас ввести логин и пароль от аккаунта на GitHub. Если не хотите вводить их постоянно, то вы можете настроить доступ по SSH.
-
История коммитов Вы можете посмотреть на историю коммитов. В ней указывается автор коммита, его описание, время, хэш коммита.
git log
Вы успешно решили задание и хотите отправить его на проверку. Для этого нужно создать Pull Request в upstream-репозиторий.
- Откройте ваш origin-репозиторий на сайте GitHub
- Нажмите кнопку Pull Request и даллее New Pull Request
- Выберите какую ветку вы хотите отправить в upstream-репозиторий
- Назовите свой Pull Request по шаблону:
"Бевзюк -- Задание #1"
- Если по вашей работе будут замечания, то вы их исправляете у себя, делаете коммит, пушите к себе в репозиторий и изменения автоматически будут добавлены в созданный Pull Request. Не нужно создавать ещё один.
Для получения последних изменений из своего репозитория и слияния их в текущую ветку можно воспользоваться командой
git pull
Если вы хотите просто скачать изменения для сохранения их локально без слияния, то используйте
git fetch
Перед началом работы над следующим заданием полезно синхронизироваться с upstream-репозиторием.
git remote add upstream https://github.com/SemyonBevzuk/Programming_practice_381908-1-2
git fetch upstream
git checkout -b ваша_ветка
Информации про Git много, можно найти решение почти любой проблемы.