Git. Инструкция по применению

29.06.2018

Сегодня речь пойдет о системе контроля версий Git. Мы обсудим принципы работы и основные команды Git.

Что такое Git?

Git - это система контроля версий, разработанная командой Линуса Торвальдса. Изначально проект разрабатывался для управления разработкой ядра Linux, но в дальнейшем другие команды разработчиков начали использовать его своих проектах. Основной причиной такой популярности Git стала его особенная модель работы с данными.

Как работает Git?

Представим что есть команда разработчиков которые пишут большой проект. Каждый программист работает над своей задачей. После того как один из разработчиков внес изменения в код проекта, другие также должны получить эти изменения. Git решает эту проблему.

Каждый разработчик скачивает свою локальную версию проекта с сервера Git при помощи команды git clone. Разработчики пишут свои изменения в код проекта. Если в результате разработки, программист создает новый файл с исходным кодом, то ему нужно выполнить команду git add. Чтобы поделиться своими изменениями, нужно выполнить команду git commit, которая сохраняет все изменения в локальную версию проекта, и выполнить команду git push, чтобы отправить свои изменения на сервер. Другие разработчики выполняют команду git pull чтобы скачать все изменения с сервера, в свою локальную версию.

Это простой пример работы с проектом в git.

Ветки в Git

Особое внимание стоит уделить работе с "ветками" в git. Ветки в git отличаются простотой и гибкостью по сравнению с другими системами контроля версий. После создания проекта git автоматически добавляет ветку master. По умолчанию все изменения вносятся именно в нее. Но представим ситуацию, когда один из разработчиков начинает работу над экспериментальной функцией. Если он будет вносить свои изменения в ветку master, то эти изменения могут повлиять на работоспособность всего проекта. Чтобы такого не произошло, разработчику стоит создать отдельную ветку и вносить изменения туда. При помощи команды git branch можно создать ветку в проекте. Ветка по сути - это отвлетвление от текущей версии проекта. Все изменения, которые будет вносить разработчик, будут сохраняться в ветке и когда функция будет полностью реализована и проверена, разработчик сможет слить все свои изменения с веткой master при помощи команды git merge.

Немного подробнее про commit

Каждый новый commit в философии Git является результатом изменением предыдущего состояния проекта. В результате они образуют древовидную структуру как на рисунке выше. Каждый commit может иметь комментарий, который лучше объяснит, какие изменения он содержит.

Более подробно функционал Git вы можете изучить на try.github.io

Если вам понравился материал, подписывайтесь на наш канал. Учитесь программировать вместе с нами. Удачи:)