УДК 004
Вьюшкова М.В. студент 3 курса
факультет «Информационных систем и технологий»
Чернова С.В. старший преподаватель кафедра программного обеспечения и управления в технических
системах
Поволжский Государственный Университет Телекоммуникаций и Информатики
Россия, г. Самара
ПРИНЦИП РАБОТЫ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ GIT
Аннотация: краткий обзор на Git. Немного полезных команд для комфортной работы с кодом. Содержится ответ на вопрос: зачем нужна система контроля версий и как её использовать в разработке ПО.
Ключевые слова: Git, команды для работы с Git, командная разработка ПО, система контроля версий, использование веток Git, создание Git-репозитория.
Vyushkova M. V.
3rd year student, Faculty of "Information Systems and Technologies" Volga State University of Telecommunications and Informatics
Russia, Samara HOW GIT VERSION CONTROL WORKS
Summary: A brief overview on Git. A few useful commands for comfortable work with the code. It answers the question: why is a version control system needed and how to use it in software development.
Keywords: Git, teams for working with Git, team development, version control system, using Git branches, creating a Git repository.
Кратко Git это система контроля версий. Он используется для комфортной работы с вашим кодом и очень сильно облегчает работу в команде. Допустим вы сильно "замусорили" свой код при решение какой-либо задачи или настолько сильно запутались в коде, что уже не понимаете какой из модулей был рабочим до начала исправления ошибки, а какой нет. Вот в этот момент к вам на помощь приходит Git. С его помощью можно отменить ненужные изменения в коде. Если вы, конечно, закоммитили эти изменения.
Сначала нужно войти в Git. Чтобы нам не приходилось в каждом проекте это делать, рекомендую задать глобальные конфигурации нашего имени и email:
git config --global user.name "name"
git config --global user.email "e-mail@email.com"
Если вы хотите залогиниться в данном проекте не под основной учётной записью, тогда можно задать локальные конфигурации для нашего
конкретного проекта. Сначала создадим git-репозиторий, находясь в папке с проектом: git init
Теперь зададим локальные конфигурации:
git config user.name "namel"
git config user.email "e-maill @email.com"
После того как у нас появяться первые наброски кода нужно добавить файлы на индексацию, чтобы Git начал отслеживать его изменения: git add <file>
Здесь <file> это имя файла, который мы хотим добавить в индексацию. Можно вместо имени указать "*", но я не рекомендую этого делать, так как в результате Git может добавить ненужные вам файлы.
После добавления файлов надо оставить комментарий для наших изменений:
git commit -m <comment>
Здесь <comment> это какой-то "говорящий" комментарий, по которому вы в будущем сможете понять, какие зафиксированы изменения.
Иногда вам может потребоваться посмотреть какие изменения произошли с момента последнего коммита. Это можно сделать так: git status
А вот так можно вывести историю коммитов в удобном формате: git log --pretty=format:"%h - %s : %ad [ %an ]"
В логах в первую очередь нам нужен hash лога. Он выводится первым в виде набора из 7 символов до "-". С его помощью мы можем перейти к нужному нам коммиту: git checkout <hash>
Для загрузки проекта в удаленный репозиторий используйте команды:
git remote add origin <url> git push -u origin master Здесь <url> это адрес нашего проекта. Его нужно взять в нашем удаленном репозитории. Если вам нужно загрузить изменения в определенную ветку, тогда вместо "master" указывайте имя ветки.
Git имеет древовидную структуру. И как у любого дерева у него есть ветки. Для создания ветки используйте команду: git checkout -b <newbranch>
Тут, <newbranch> это название нашей новой ветки. Для работы с ветками вам понадобиться ещё пару полезных команд:
• git branch - посмотреть список веток и понять в какой мы сейчас находимся
• git checkout <namebranch> - перейти в ветку <namebranch>
Если проект уже есть на удаленном репозитории, тогда вам нужно его просто клонировать в ваш локальный репозиторий: git clone <url>
Конечно, предварительно нужно залогиниться и создать git-
репозиторий на нашем компьютере.
В разработке очень часто баги обнаруживаются на этапе использования ПО и их нужно как-то исправлять. Также вам может потребоваться добавить какой-то новый функционал. И никто, конечно, не хочет "сломать", то что уже успешно работает. Чтобы такого не произошло, надо создавать новые ветки, в которых вы будете улучшать ваше приложение. А потом ветку нужно будет перед загрузкой на удаленный репозиторий объединить с нужной нам. Обычно это ветка называется master. Сделать это мы можем при помощи команды:
git merge <branch>
Эта команда все изменения в вашей текущей ветке объединяет с указанной.
При создании нового коммита или объединения веток может возникнуть конфликт. Решать его разработчику приходится вручную. Этого Git не умеет.
Для решения конфликта вам потребуется просмотреть конфликтные изменения и выбрать какие нужно оставить, а какие можно удалить. После этого нужно будет повторно ввести команду, при вводе которой возник конфликт, с атрибутом --continue.
Я не стала в статье описывать процесс установки Git, так как это уже достаточно подробно описано на официальном сайте: https://git-scm.com
Использованные источники:
1. https://git-scm.com/video/what-is-version-control «Git Basics. What is Version Control?»
2. https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control «About Version Control»
3. https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F «What is Git?»