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