Статья Что такое Git? Для начинающих.


git-github.png


Официальный Сайт GitHub

Введение

Привет, Кодебай! Сегодня я хочу поговорить о таком проекте, как 'Git'. Для чего он используется? Чем отличается от GitHub? Попытаюсь показать и рассказать, как все работает. Статья создана для самых маленьких программистов, начинающих исследователей. Приятного ознакомления!

Git

Git - распределенная система контроля и управления версиями кода. Система Git состоит из неких коммитов, в которой работает система контроля версий - когда код внезапно перестал работать, но СКВ вернула его в рабочее состояние. Здесь и подключаются некие коммиты ('сохранить изменения'), которые действуют как контрольные точки.

Коммит можно назвать пакетом, который хранит в себе последние изменения: добавленные или удалённые разработчиком части кода. Все записывается в Коммит.

Без имени.png


Сделал очень простую схему для понимания. Красный круг с черной обводкой означает, что код перестал работать. Зеленый круг с черной обводкой - сделанные ранее коммиты, к которым Git может вернуть версию, когда это все 'работало'.
Все звучит элементарно!

Git для всей команды разработчиков

Существуют связанные ветки в Git. Master-ветка - основная версия продукта, которая уже готова к выпуску. У нее существуют ответвления, которые созданы для тестирования новых функций, разносортных экспериментов. При этом, никто никому не мешает.

git.png


Каждый занимается своим делом. Git умеет создавать код 'вместе'. Очень часто бывает, что перед своей работой ты еще долго ждешь, пока твой коллега закончит свою часть, а только потом ты выполняешь свою, очень скучно!
В Git можно не ждать обновленную Master - Ветку, он допускает всех участников над разработкой к любым веткам проекта, чтобы каждый делал свою работу.

Разновидности Системы Контроля Версий (СКВ)

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

local.png


Централизованные системы контроля версий. Нужна для совместной разработки. ЦСКВ (CVS, Subversion, Perforce) использует единственный сервер для хранения каталогов проекта. Намного лучше, чем использование ЛСКВ. Администраторы могут контролировать весь процесс разработки, а не разбираться с ЛСКВ.
Огромный минус ЦСКВ: если сервер выйдет из строя на n-время, никто не сможет его редактировать, создавать новые коммиты и так далее. Если носитель, на которым находится БД, имеет повреждения, проект может пропасть навсегда.

centralized.png


Распределенные системы контроля версий
. Каждый человек, который имеет доступ к проекту, может скачать абсолютно весь каталог! Если в нашем случае, который я описал выше (отвалится сервер или повредится ЖД с центральной БД), человек может спокойно использовать скаченный каталог при любых потерь со стороны 'железа'.

distributed.png



Как взаимосвязаны Git и Github? Главное

Git - подключается к проекту, контролирует актуальные версим продукта.
GitHub - работает как облачное хранилище, хранит версии продукта.
Они заточены под работу между собой. Практически все используют такой 'стек'. Конечно, их можно заменить другим СВК и хранилищем, но так мало кто делает.

Заключение

На этом я хочу закончить свое повествование. Оказалось, что 'Git' очень полезен в работе с большими проектами и большой командой: каждый может работать как хочет и когда хочет! Надеюсь, что Вам понравилась данная статья, уважаемые читатели. До встречи!
 
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!