Система контроля версий позволяет сохранять историю развития кода, а также обмениваться кодом между разработчиками, поэтому полезна при написании любой программы.
Git — система управления версиями с распределенной архитектурой. В отличие от некогда популярных систем вроде CVS и Subversion (SVN), где полная история версий проекта доступна лишь в одном месте, в Git каждая рабочая копия кода сама по себе является репозиторием. Это позволяет всем разработчикам хранить историю изменений в полном объеме, особенности:
- распределенность, а значит можно создать репозиторий локально и сразу писать код с версионированием
- состоит из набора утилит командной строки, поэтому успешно портирована на все популярные платформы и для нее разработано множество графических интерфейсов на любой вкус и цвет
- поддерживается популярными хостингами репозиториев — GitHub, GitLab, Bitbucket
- поддерживается популярными IDE — Visual Studio, Visual Studio Code, Rider, WebStorm и многими другими
- Заведи аккаунт на GitHub.com
- Установить Git Bash и Visual Studio Code (графический интерфейс). Подходит для Linux, Mac и Windows.
Это проект консольного калькулятора.
- Сделайте fork этого репозитория.
- Склонируйте себе свой форк.
- Откройте проект в IDE и немного изучите его.
- Изучите коммиты начиная с
init commit
. - Создайте файл
.md
, внутри укажите ваши ФИО и номером группы. - Сделайте pull request с вашим файлом. Так я увижу, вас чтобы знать, что вы занмаетесь.
- Перейдите в ветку
first_branch
— это ветка разработки, в которой калькулятору добавили функциональности. Изучите по логу коммитов, что именно произошло в этой ветке, начиная с коммита "first". Влейте в эту ветку последние изменения из master. Будут конфликты. Чтобы их грамотно разрешить, придётся разобраться с тем, какие изменения случились в master и как их подружить с изменеиями в ветке. Сделайте push - Переключитесь на ветку master.
- Создайте свою ветку. Сделайте в ней любые правки, доработки или добавьте новые фыайлы. Далее необходимо закомитить и за пушить иземенения.
- Игра-квест https://github.com/hgarc014/git-game
- Игра про работу с ветками https://pcottle.github.io/learnGitBranching/
- Книга по git: https://git-scm.com/book/ru/v2