Системы управления версиями

Время чтения: меньше 5 мин

Кратко

Секция статьи "Кратко"

Системы контроля версий — VCS (version control systems) — были придуманы, чтобы следить за историей изменений исходного кода и комфортно работать над ним большой командой.

Самая популярная из систем — Git. Её используют в большинстве проектов. Некоторые компании используют другие системы, например SVN или Mercurial, другие — создают собственные решения, чтобы лучше покрыть свои специфичные потребности.

Как понять

Секция статьи "Как понять"

При разработке программ часто происходят ошибки — одно из изменений может сломать всё приложение. В таком случае нужно быстро вернуть пользователям последнюю работающую версию. С другой стороны, когда над проектом работает большое число людей, бывает полезно знать — кто, когда и какое изменение внёс. Обе эти проблемы решаются сохранением полной истории изменений исходного кода в системе контроля версий.

В 2005 году была создана самая популярная на данный момент VCS — Git (произносится «гит»). Для базовых нужд достаточно самых простых возможностей, они покроют 90% всех потребностей. Но сначала нужно определить несколько понятий.

Репозиторий — это общее название для хранилища исходного кода. Часто говорят об удалённом репозитории (копия кода на каком-то сервере) и локальном репозитории (копия на компьютере разработчика).

Код в репозитории хранится в виде истории коммитов — небольших изменений исходного кода. Можно сказать, что репозитории хранят только историю изменений, а текущее состояние кода представляют просто последовательно применяя все эти изменения.

Важное отличие VCS от любого другого хранилища файлов с историей — это коммиты. С их помощью можно записать изменение одной строки в одном файле и двух строк в другом с общим комментарием.

Линейная история коммитов

При этом история может ветвиться. То есть в какой-то момент один из разработчиков может начать делать изменения и после коммита А сделать коммиты Б и В, а другой разработчик после коммита А сделает коммиты Г и Д. Так появится две альтернативные истории изменений. Такие параллельные истории называются ветками. Чтобы совместить эти изменения в единой кодовой базе, ветки нужно будет слить.

Обычные хранилища файлов не могут показывать параллельные истории одного и того же файла, а VCS — умеет.

Сливание ветки в репозиторий

Как пользоваться

Секция статьи "Как пользоваться"

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

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

        
          
          git init
          git init

        
        
          
        
      

Теперь можно добавить все файлы проекта к списку отслеживаемых изменений.

        
          
          git add --all
          git add --all

        
        
          
        
      

И создать новый коммит.

        
          
          git commit -m "Комментарий к первому коммиту"
          git commit -m "Комментарий к первому коммиту"

        
        
          
        
      

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