Максимальная оценка за работу — 1 балл. Срок выполнения — 1 неделя.
Невыполненная или выполненная частично работа оценивается в 0 баллов
без возможности пересдачи.
Проверьте наличие репозитория в домашнем каталоге:
$ ls
Перейдите в локальный репозиторий для дальнейшей работы:
$ cd hw-<username>
Для фиксации изменений в репозитории нужно указать свои имя и email.
Подробности см. в 1.6 Getting Started - First-Time Git Setup.
Обратите внимание, в каком файле хранятся параметры после их установки. Если
вы не хотите публиковать свой email, ознакомьтесь с руководством:
Setting your commit email address.
Разработайте приложение «Hello, World». Выполните работу в несколько коммитов.
В склонированном репозитории создайте пустой файл main.c. В каком
состоянии он находится? Для просмотра состояния используйте команду
git status.
Проиндексируйте пустой файл main.c. Используйте команду git add.
В каком состоянии находится файл?
Зафиксируйте изменения с помощью команды git commit. В заголовке коммита
укажите: «Create empty main.c».
$ git commit -m "Create empty main.c"
После создания коммита выполните команду
git status, объясните вывод. Выполните команду git log, объясните
вывод. Обратите внимание, что локальная ветка main теперь опережает
удаленную origin/main на один коммит.
Напишите функцию main:
intmain(){return0;}
Проверьте состояние файла main.c.
Проиндексируйте файл main.c. Создайте еще один коммит. В заголовок коммита добавьте сообщение, отражающее внесённое изменение.
Посмотрите историю изменений.
По аналогии добавьте вывод сообщения «Hello, World». Приложение должно компилироваться с опцией -Wall без ошибок и предупреждений.
$ gcc -Wall -o main main.c
Проверьте вывод сообщения:
$ ./main
Проиндексируйте файл main.c. Создайте еще один коммит. Посмотрите историю репозитория.
В лабораторных работах и курсовом проекте требуется соблюдение code style.
Для автоматического форматирования исходников можно использовать утилиту
clang-format. Скачайте конфиг .clang-format в корень репозитория
hw-<username>. Обратите внимание, что имя файла должно
начинаться с точки. Для скачивания конфига воспользуйтесь командой:
Установите в систему clang-format. Настройте свой текстовый редактор так,
чтобы форматирование исходников выполнялось при сохранении файла. Убедитесь,
что автоматическое форматирование работает.
Для настройки текстового редактора gedit на учебных компьютерах, откройте редактор, выполнив команду:
Загрузите изменения в удаленный репозиторий с помощью команды git push. Посмотрите историю изменений. Убедитесь, что локальная ветка main и удаленная origin/main указывают на один и тот же коммит.
Передайте выполненное задание на ревью преподавателю практики. Для этого:
Откройте в браузере страницу репозитория.
На вкладке Pull requests перейдите в Feedback. Этот Pull request создан
автоматически. Не закрывайте и не вливайте его. В лабораторных и
курсовых он должен оставаться открытым.
В поле Reviewers выберите своего преподавателя.
Если ревью было пройдено со статусом Changes requested, исправьте
замечения и запросите повторное ревью.
Полезные ссылки для настройки текстового редактора:
Официальная документация ClangFormat
содержит информацию по настройке vim
и emacs.
В аудиториях вам доступны редакторы: vim, emacs, gedit. Из них наиболее низкий
порог входа у gedit.
Gedit не поддерживает возможность автоматического форматирования файла при
сохранении. Плагин из списка выше форматирует файл только при нажатии сочетания
Alt+Shift+F или любого другого выбранного вами.
Если добиться работоспособности плагина не удалось, есть альтернативный способ
подключения clang-format к gedit.
Создан репозиторий hw-<username>, в котором находится исходный код
программы. Приложение компилируется с опциями -Wall-Werror.
Ветка main запушена в удаленный репозиторий.
В репозитории есть конфиг .clang-format. В вашем текстовом редакторе
настроено автоматическое форматирование исходного кода с использованием
этого конфига. Исходный код приложения отформатирован.
Работа выполнена в несколько коммитов, все действия по индексации файлов,
созданию коммитов и загрузке в удаленный репозиторий выполнялись в командной
строке.
В репозитории нет лишних файлов (артефактов сборки, таких как исполняемые
или объектные файлы, локальных настроек текстового редактора и т. д.).