C++ и Python

Настройка рабочей среды

Что такое Git?

Git - это система контроля версий, важный инструмент для работы программиста. Она не требуется для сборки или запуска программ, однако предоставляет некоторые полезные возможности на этапе их написания: хранение предыдущих версий исходного кода и откат на любую из них; отображение изменений, сделанных между его произвольными версиями; контроль совместимости изменений, сделанных несколькими пользователями. Представьте, что лаборатории удалось достать машину времени и с помощью неё отследить, кто перепаивал конденсатор и спалил плату, а затем одним нажатием кнопки отменить эти действия и спасти сбор данных на важном эксперименте вместо того, чтобы ждать новую плату несколько месяцев. Техника пока не дошла до этого уровня, а в программировании подобные инструменты работают уже не одно десятилетие.

В рамках нашего курса у каждого студента будет свой репозиторий для каждой отдельной задачи, которую он будет решать. Копия каждого репозитория будет доступна в Вашем профиле на GitHub - веб-сервисе для хостинга проектов. Можно будет легко начать решать задачу на компьютере в терминальном классе, а продолжить делать это на домашнем ноутбуке. Для этого надо будет закоммитить (или сохранить) изменения у себя в локальном репозитории в терминальном классе, запушить их (то есть отправить на GitHub в свой удаленный репозиторий) и дома запуллить (подтянуть на локальный компьютер) изменения.

Для работы с репозиторием удобно использовать разные ветки. Если коммиты можно сравнить с путешествием во времени, то ветки - это альтернативные реальности, в каждой из которых репозиторий развивается по своему особому пути. Например, отдельные разработчки могут использовать индивидуальные ветки для независимой работы друг от друга, а когда чья-то работа будет закончена, вмерджить (влить) изменения в общую ветку. В нашем курсе у репозиториев по две ветки: одна рабочая, в которой можно сохранять промежуточные результаты (ветка master), и ветка solution, в которую надо будет влить в решение задачи для проверки преподавателем.

Подробнее о том, как сдавать задания с помощью Git и Github, рассказано в разделе "Как сдавать задания"

Основные команды, которые Вам понадобятся в работе:

  • git add - добавление измененных файлов в индекс. После того, как все нужные файлы будут добавлены в индекс, можно будет из этих изменений сформировать коммит (= сделать сохранение в историю). Можно применять в нескольких формах: git add file1.txt file2.txt для сохранения file1.txt, file2.txt либо git add . - для сохранения всех изменений

  • git status - просмотр изменений. Показывает разницу между текущим состоянием репозитория и предыдущим коммитом (сохранением)

  • git commit - коммит (сохранение изменений в Git) в локальном репозитории. Сохраняются все изменения, которые были добавлены в индекс. Употреблять в форме git commit -m 'commit message'. Вместо commit message принято писать лаконичный комментарий на английском языке о том, зачем был сделан этот коммит

  • git push - отправить изменения из локального репозитория в удаленный репозиторий на GitHub. Используйте команду git push origin master (origin - это название удаленного репозитория, а master - это ветки, в которой вы будете работать)

  • git pull - подтянуть изменения из удаленного репозитория. Вам понадобится команда git pull origin master

Работа с Git не ограничивается этими командами, но для успешной работы в рамках нашего курса этого должно быть достаточно. Для дальнейшего знакомства с Git можно читать документацию. Можете попробовать интересный интерактивный способ изучения Git - тренажер по Git. Можете изучать все подряд для саморазвития, а рамках нашего курса будет полезно попрактиковаться только в двух разделах: “Основы. Введение” и “Удаленные репозитории. Push & Pull - удаленные репозитории в Git!”