Перед тем, как что-то здесь писать, хочу уточнить, что один из, если не самый, лучших источников по Git является книга Pro Git. В своих заметках, Я часто буду обращаться к этой книге. Так же, буду добавлять информацию из других источников. Цель — составить минимальный и достаточный для работы мануал для людей без опыта работы с Git или минимальным опытом. В дальнейшем, возможно, буду дополнять более сложными вещами.

Для начала, давайте, разберёмся, что же такое Git.

При поиске ответа на этот вопрос в сети Интернет, мы найдём следующее определение: Git (англ. global information tracker) — это распределённая система управления версиями. Если доалкивался с Git’ом, то из этого определения не совсем ясна суть Git’а.

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

Например, код пишут два пользователя. Они работают в ракоремя. Система управления версиями сохраняет все измененияьзомент позволяет вернуться к версии, созданной день, два, три дня или месяц назад.

Какие существуют системы управления версиями (VCS):

  • собственно Git;
  • SVN;
  • Mercurial;
  • CVS (Concurrent Versions System);
  • Team Foundation Server.

Все они делятся на два типа:

  • распределенные (Git, Mercurial) – изменения хранятся в локальных хранилищах компьюизпьютерами;
  • централизованные (CVS, SVN) – все данные хранятся на центральном сервере, и оттуда каждый локальный компьютер получает обновленные данные.

Git не зависит от центрального сервера, где хранятся файлы. Git сохраняет данные в локальном репозитории. Что такое локальный репозиторий Git? Это каталог на жестком диске рабочего компьютера пользователя. Для большей стабильности и ускорения синхронизации разных версий проекта локальный репозиторий хранят онласаGitlab, Bitbucket.