Настройка рабочей среды
Что такое 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!”