Материалы‎ > ‎GIT‎ > ‎

Введение

Система контроля версий (цели и задачи)


Система контроля версий или система управления версиями - это программа, которая позволяет фиксировать и отслеживать изменения исходного кода программных проектов. При этом, сам программный проект представляет собой дерево каталогов, то есть набор файлов и подкаталогов, хранящихся в каталоге проекта. Файлы и подкаталоги, которые находятся в каталоге проекта называются рабочим деревом проекта (work tree). В дереве проекта, как правило, находится первичный набор исходных файлов, на основе которых выполняется сборка программного проекта. Минимальный набор первичных исходных файлов программного проекта называется исходным кодом (source code) проекта. Файлы и подкаталоги дерева проекта, хранящиеся в системе контроля версий, называются отслеживаемыми файлами (tracking files). В противовес всем другим файлам, которые могут также оказаться в дереве проекта (неотслеживаемые файлы). Например, промежуточные файлы, генерируемые компилятором или новые файлы с исходным кодом, не добавленные пока в систему контроля версий. Задачами системы контроля версий являются следующие:

  • фиксация изменений для отслеживаемых, добавляемых или удаляемых файлов исходного кода в рабочем дереве проекта;

  • хранение истории зафиксированных изменений исходного кода;

  • сравнение и поиск ранее зафиксированных изменений исходного кода;

  • объединение наработок и экспериментальных измений ведущихся различными разработчиками над одним исходным кодом.

Цепочка зафиксированных изменений исходного кода называется историей программного проекта. История программного проекта хранится в репозитории программного проекта. Любая работа над исходным кодом программного проекта выполнятся в рамках репозитория. Репозиторий в системе контроля версий Git хранится в каталоге с именем .git, который находится в корневом каталоге рабочего дерева проекта.



Понятие программного проекта

Под программным проектом понимается набор файлов и каталогов, из которых может быть получен набор итоговых целей в виде приложений, библиотек и необходимых для их работы файлов (изображений, файлов с настройками, файлов с переводами и т.д.). Действие по преобразованию исходного кода в набор итоговых называется сборкой. Для выполнения сборки программный проект, кроме исходного кода и дополнительных файлов, требует сборочных файлов или файлов проекта. Файлы проекта привязаны к определённой сборочной инфраструктуре:

  • make - стандартная утилита сборки в unix-системах (утилиты с таким же именем могут встречаться интегрированных средах разработки);

  • qmake - сборочная  утилита из состава Qt.

  • ant - платформонезависимый аналог утилиты make утилита для автоматизации процесса сборки программного продукта. Является платформонезависимым аналогом утилиты make

  • nmake - утилита построения программ (Майкрософт) из состава Visual Studio

Comments