- Создайте пустой репозиторий на сервисе github.com (или gitlab.com, или bitbucket.com).
- Выполните инструкцию по созданию первого коммита на странице репозитория, созданного на предыдещем шаге.
- Создайте файл
hello_world.cpp
в локальной копии репозитория (который должен был появиться на шаге 2). Реализуйте программу Hello world на языке C++ используя плохой стиль кода. Например, после заголовочных файлов вставьте строкуusing namespace std;
. - Добавьте этот файл в локальную копию репозитория.
- Закоммитьте изменения с осмысленным сообщением.
- Изменитьте исходный код так, чтобы программа через стандартный поток ввода запрашивалось имя пользователя. А в стандартный поток вывода печаталось сообщение
Hello world from @name
, где@name
имя пользователя. - Закоммитьте новую версию программы. Почему не надо добавлять файл повторно
git add
? - Запуште изменения в удалёный репозиторий.
- Проверьте, что история коммитов доступна в удалёный репозитории.
Note: Работать продолжайте с теми же репоззиториями, что и в первой части задания.
- В локальной копии репозитория создайте локальную ветку
patch1
. - Внесите изменения в ветке
patch1
по исправлению кода и избавления отusing namespace std;
. - commit, push локальную ветку в удалённый репозиторий.
- Проверьте, что ветка
patch1
доступна в удалёный репозитории. - Создайте pull-request
patch1 -> master
. - В локальной копии в ветке
patch1
добавьте в исходный код комментарии. - commit, push.
- Проверьте, что новые изменения есть в созданном на шаге 5 pull-request
- В удалённый репозитории выполните слияние PR
patch1 -> master
и удалите веткуpatch1
в удаленном репозитории. - Локально выполните pull.
- С помощью команды git log просмотрите историю в локальной версии ветки
master
. - Удалите локальную ветку
patch1
.
Note: Работать продолжайте с теми же репоззиториями, что и в первой части задания.
- Создайте новую локальную ветку
patch2
. - Измените code style с помощью утилиты clang-format. Например, используя опцию
-style=Mozilla
. - commit, push, создайте pull-request
patch2 -> master
. - В ветке master в удаленном репозитории измените комментарии, например, расставьте знаки препинания, переведите комментарии на другой язык.
- Убедитесь, что в pull-request появились конфликтны.
- Для этого локально выполните pull + rebase (точную последовательность команд, следует узнать самостоятельно). Исправьте конфликты.
- Сделайте force push в ветку
patch2
- Убедитель, что в pull-request пропали конфликтны.
- Вмержите pull-request
patch2 -> master
.