Система контроля версий Git позволяет нескольким разработчикам одновременно работать над одним продуктом. 2 Она хранит все версии проекта, которые называются коммитами. 25
Работа с Git обычно проходит по такому алгоритму: 1
- Разработчики вносят правки в файлы рабочей копии проекта. 1
- Индексируют их, подготавливая к коммиту (здесь Git создаёт снимки новых правок). 1
- Делают коммит, и индексированные правки сохраняются в каталоге Git. 1
Некоторые особенности работы системы:
- Фиксация состояния файла. 1 Каждый раз при сохранении данных проекта (коммите) система фиксирует состояние файла (делает снимок) и создаёт ссылку на этот снимок. 1 Последующие изменения отражаются через ссылки на более ранние версии файла. 1
- Целостность истории изменений. 1 Система снимков обеспечивает целостность всей истории изменений, основываясь на контрольных hash-суммах. 1
- Восстановление данных. 1 В большинстве случаев данные можно восстановить из ранней версии проекта. 1
- Работа с ветками. 25 Коммиты располагаются на master-ветке — основной версии проекта, которая после завершения работы превратится в продукт. 5 Система позволяет создавать ответвления от master-ветки и экспериментировать с проектом, не мешая другим участникам команды. 5
- Разрешение конфликтов. 5 Если несколько разработчиков одновременно дописывают код, заливают его в master-ветку и сталкиваются с конфликтом — один файл получает несколько несогласованных изменений, Git попробует автоматически исправить ошибки. 5 Если не получится, разработчики это увидят и смогут поправить код вручную. 5