Основы git

В основе системы контроля версий лежит простой принцип – объединение данных от пользователей на сервере (локальном или глобальном) и обновление до требуемых версий у других пользователей, схематично это можно представить на рисунке 1.
Также можно использовать систему контроля версий для себя одного (только локально на компьютере).

Для работы с git используется свой “язык комманд” а также свои git-клиенты (приложения для работы)

Для работы сначала необходимо установить сам набор команд в linux (ubuntu/debian) это делается командой sudo apt install git

Рисунок 1 – упрощенная схема системы контроля версий.

Основа системы git – создание точек сохранений и возможность разветвленной работы над проектом.
Что такое точка сохранения – в ней хранится совокупность файлов, позволяющая получить полную копию задумывавшегося ПО. Звучит сложно? Попробую объяснить подробнее:
делать полный дамп файлов будет крайне неразумно, особенно в крупных проектах, поэтому система контроля версий делает полный дам самого первого коммита (первой точки сохранения) и потом смотрит и сохраняет что изменилось от точки к точке.
И по факту когда вы переходите между точками – вы не скачиваете полный дам а только добавляете/убираете изменения между ними.

Как же выглядит процесс разработки с использованием системы контроля версий?
Основные операции представлены на рисунке 2.Рисунок 2 – система контроля верси и основные операции

 

Основное взаимодействие сводится к командам commit, push и pull
рассмотрим на примере:
Мы работаем в каком-то проекте и например пользователь персонального компьютера №1 (P1) сделал какие-то изменения (local changes) и хочет их передать остальным
1) P1 формирует сообщение для сервера и пользователей содержащее “изменяемые данные и описание того что произошло”
для этого выполняет команду commit, в результате формируется “слепок” измененных данных с описанием, но эти данные все еще хранятся локально (на компьютере №1)
2) выполняем команду push и загружаем информацию на сервер
3) другие пользователи или получат уведомление или должны сами посмотреть что есть изменения и выполнить команду git pull.
Примечание: если пользователи тоже выполняли изменения и имеют “local changes” то ничего страшного не произойдет коммит пользователя 1 будет обозначен как другая точка сохранения, а модификации пользователя 2 (например) будут отображены как дополнительная ветка от предыдущего сохранения.

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

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *